【发布时间】:2011-04-18 17:12:12
【问题描述】:
我现在正在学习 LISP,但我还没有找到任何关于如何在 LISP 中获取模数的信息。有没有办法把它放在一个函数里面?我知道像 Java 这样的其他语言使用 % 来查找模数,但是 LISP 使用什么?
【问题讨论】:
-
这个问题是关于 Lisp 的哪个方言?
我现在正在学习 LISP,但我还没有找到任何关于如何在 LISP 中获取模数的信息。有没有办法把它放在一个函数里面?我知道像 Java 这样的其他语言使用 % 来查找模数,但是 LISP 使用什么?
【问题讨论】:
mod怎么样,来自page:
(mod -1 5) => 4
(mod 13 4) => 1
(mod -13 4) => 3
(mod 13 -4) => -3
【讨论】:
作为mod 的替代方案,Common Lisp floor 函数返回模数作为其第二个值。这在您也对商感兴趣的情况下很有用。
【讨论】:
有两种选择:
mod 和 rem 分别是模数和余数函数的推广。
mod 对数和除数进行取数运算并返回取数的余数。
rem 对数字和除数执行截断运算,并返回截断运算的余数。
mod 和 rem 是 number 和 divisor 为整数时的模数和余数函数。
例子:
> (rem -1 5) => -1
> (mod -1 5) => 4
> (mod 13 4) => 1
> (rem 13 4) => 1
【讨论】:
在 Lisp 中,模数函数的命令是 rem -reminder 示例 (rem 13 4) 结果 1
【讨论】: