如何在LISP中获取模数

18

我现在正在学习LISP,但是我没有找到与如何在LISP中获取模数有关的任何内容。是否有一种方法可以在函数内获取它?我知道其他语言(如Java)使用%来查找模数,但LISP使用什么呢?


这个问题是关于哪种 Lisp 方言的? - Anderson Green
4个回答

27

看看这个页面上的mod函数如何:

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

10
作为mod的替代方案,Common Lisp的floor函数将模数作为第二个返回值返回。在您还关心商数的情况下,这非常有用。

4
有两个选项:
- mod 和 rem 是模数和余数函数的推广。 - mod 对数字和除数执行 floor 操作并返回 floor 操作的余数。 - rem 对数字和除数执行截断操作并返回截断操作的余数。 - 当数字和除数为整数时,mod 和 rem 是模数和余数函数。
举例:
>  (rem -1 5) =>  -1  
>  (mod -1 5) =>  4  
>  (mod 13 4) =>  1  
>  (rem 13 4) =>  1

Source: http://clhs.lisp.se/Body/f_mod_r.htm


0
在Lisp中,模数函数的命令是rem-reminder 例如(rem 13 4)结果为1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接