2011-02-13 21 views
7

Me preguntaba cuál es la forma más rápida de verificar la divisibilidad en VB.NET.¿Manera rápida de verificar si un número es divisible por otro?

Intenté las siguientes dos funciones, pero creo que hay técnicas más eficientes.

Function isDivisible(x As Integer, d As Integer) As Boolean 
    Return Math.floor(x/d) = x/d 
End Function 

Otro me ocurrió:

Function isDivisible(x As Integer, d As Integer) As Boolean 
    Dim v = x/d 
    Dim w As Integer = v 
    Return v = w 
End Function 

Es esta una manera más práctica?

+0

El segundo parece bastante eficiente, siempre y cuando funciona y debe ser suficiente para que el JIT lo alinee automáticamente – Nick

Respuesta

26

Uso Mod:

Function isDivisible(x As Integer, d As Integer) As Boolean 
    Return (x Mod d) = 0 
End Function 
7

Use 'Mod' que devuelve el resto del número1 dividido por el número2. Entonces, si el resto es cero, entonces el número 1 es divisible por el número 2.

p. Ej.

resultado Dim Como resultado Entero = 10 Mod 5 '= 0

Cuestiones relacionadas