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、CommonLispfloor関数は2番目の値としてモジュロを返します。これは、商にも関心がある場合に役立ちます。

于 2011-04-18T19:09:29.783 に答える
3

2つのオプションがあります。

modremは、それぞれモジュラス関数と剰余関数を一般化したものです。

modは、数値と除数に対して操作フロアを実行し、残りのフロア操作を返します。

remは、数値と除数に対して切り捨て操作を実行し、切り捨て操作の残りを返します。

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では、Modulus関数のコマンドはrem -reminder Example(rem 13 4)result1です。

于 2015-03-31T14:04:01.543 に答える