在Lua中,如何判断一个数字是否均匀分配到另一个数字?

时间:2012-01-21 01:23:09

标签: math lua division corona

在Lua中,如何判断一个数字是否均匀分配到另一个数字?即没有余数?我只是在寻找一个布尔值为true或false。

12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)

2 个答案:

答案 0 :(得分:17)

将除法的余数与零进行比较,如下所示:

12 % 6 == 0

18 % 6 == 0

20 % 6 ~= 0

模数运算符(%)返回除法的余数。对于12和6,它是0,但对于20和6,它是2。

它使用的公式是:a % b == a - math.floor(a/b)*b

答案 1 :(得分:0)

使用模数运算符的问题是,它在负数上无法正常工作。如果您要使用负数,请改用math.fmod

maxtothemax@maxtothemax-mint ~ $ lua 
> return  -13%6
5
> return  13%6
1
> return math.fmod (-13, 6)
-1
> return math.fmod (13, 6)
1
>