math - En Lua, ¿cómo puedo saber si un número se divide equitativamente en otro número?
division corona (2)
Compara el resto de la división a cero, así:
12 % 6 == 0
18 % 6 == 0
20 % 6 ~= 0
El operador de módulo ( %
) devuelve el resto de la división. Para 12 y 6 es 0, pero para 20 y 6 es 2.
La fórmula que usa es: a % b == a - math.floor(a/b)*b
En Lua, ¿cómo puedo saber si un número se divide equitativamente en otro número? es decir, sin resto? Solo estoy buscando un booleano verdadero o falso.
12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
El problema con el uso del operador de módulo es que no funciona correctamente en números negativos. Si va a usar números negativos, utilice math.fmod
en math.fmod
lugar:
maxtothemax@maxtothemax-mint ~ $ lua
> return -13%6
5
> return 13%6
1
> return math.fmod (-13, 6)
-1
> return math.fmod (13, 6)
1
>