Lua 中取模结果不正确

我对我得到的下面的结果感到困惑。如果 mod 应该返回“余数”,那么下面是 Lua 解释器的结果。

> 278 % 1
0
> 278 % 2
0
> 278 % 3
2
> 278 % 4
2
> 278 % 5
3
> 278 % 6
2
> 278 % 7
5
> 278 % 8
6
> 278 % 9
8
> 278 % 20
18
> math.fmod(278,20)
18
点赞
用户7683313
用户7683313

好的,输出结果是正确的:

278 = 278 * 1 + 0
278 = 139 * 2 + 0
278 = 92 * 3 + 2
278 = 69 * 4 + 2
278 = 55 * 5 + 3
278 = 46 * 6 + 2
278 = 39 * 7 + 5
278 = 34 * 8 + 6
278 = 30 * 9 + 8
278 = 15 * 18 + 8

在每个例子中,我们看到 278 = 商 * n + 余数,其中 n = 2、3、...、9、18。

模运算可以给出 欧几里得除法 的余数。

2017-11-21 15:39:08