17

我现在正在学习 LISP,但我还没有找到任何关于如何在 LISP 中获取模数的信息。有没有办法把它放在一个函数中?我知道像 Java 这样的其他语言使用 % 来查找模数,但是 LISP 使用什么?

4

4 回答 4

25

怎么样mod,从页面

(mod -1 5) => 4                                                              
(mod 13 4) => 1                                                              
(mod -13 4) => 3                                                             
(mod 13 -4) => -3                
于 2011-04-18T17:20:14.413 回答
9

作为 的替代方法mod,Common Lispfloor函数返回模数作为其第二个值。这在您也对商感兴趣的情况下很有用。

于 2011-04-18T19:09:29.783 回答
3

有两种选择:

modrem分别是模数和余数函数的推广。

mod对 number 和 divisor 执行 floor 运算并返回 floor 运算的剩余部分。

rem对数字和除数执行截断操作,并返回截断操作的剩余部分。

当 number 和 divisor 为整数时,modrem是模数和余数函数。

例子:

>  (rem -1 5) =>  -1  
>  (mod -1 5) =>  4  
>  (mod 13 4) =>  1  
>  (rem 13 4) =>  1

来源: http ://clhs.lisp.se/Body/f_mod_r.htm

于 2015-11-21T22:40:31.887 回答
0

在 Lisp 中,模函数的命令是 rem -reminder Example (rem 13 4) result 1

于 2015-03-31T14:04:01.543 回答