【问题标题】:How to get the Modulus in LISP如何在 LISP 中获得模数
【发布时间】:2011-04-18 17:12:12
【问题描述】:

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

【问题讨论】:

  • 这个问题是关于 Lisp 的哪个方言?

标签: lisp modulus


【解决方案1】:

mod怎么样,来自page

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      有两种选择:

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

      mod 对数和除数进行取数运算并返回取数的余数。

      rem 对数字和除数执行截断运算,并返回截断运算的余数。

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

      例子:

      >  (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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-15
          • 1970-01-01
          • 1970-01-01
          • 2023-01-23
          • 1970-01-01
          • 2023-03-27
          • 1970-01-01
          • 2019-05-25
          相关资源
          最近更新 更多