标签: 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。
答案 0 :(得分:1)
您需要测试余数是否为零。
((zerop (rem a 3)) 3)