如何在LISP中检查该数字是否可被2和3整除?

时间:2018-07-02 21:27:54

标签: math numbers lisp

我需要检查给定数字是否可以被2整除(如果是,输出应为2),被3(如果是,输出应为3)以及数字不能被2或3整除(例如11)应该与给定的数字相同。

这是我的代码:

(defun funk (a)    
(cond 
  ((evenp a)2) 
 ((rem a 3)3)
 (t a) 
))

即使我将a定义为11,它也会显示3。

1 个答案:

答案 0 :(得分:1)

您需要测试余数是否为零。

((zerop (rem a 3)) 3)