快速检查数字是否可以被另一个整除的方法?

快速检查数字是否可以被另一个整除的方法?

问题描述:

我想知道最快的方法是检查VB.NET中的可分性。快速检查数字是否可以被另一个整除的方法?

我尝试了以下两个功能,但我感觉好像有更高效的技术。

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

,我想出了另外一个:

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

这是一个更实际的方法是什么?

+0

第二个似乎很有效的,只要它工作和应足以让JIT自动内联 – Nick 2011-02-13 18:04:23

使用Mod

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

使用'Mod'返回number1的余数除以number2。所以如果余数为零,那么number1可以被number2整除。

例如

昏暗结果为整数= 10国防部5'结果= 0

使用mod operator