我正在尝试学习 lisp,但我在质数方面遇到了一些困难。我需要一个函数is-prime
,如果它是素数,我必须返回t
,如果不是,我必须返回nil
。
(prime 41) => t
(prime 35) => nil
到目前为止,我有:
(defun is-prime (n d)
(if (= d 1)
(print "t")
(if (= (% n d) 0)
(print "nil")
(is-prime (n (- d 1) )))))
但我在那里有 2 个参数,我不知道如何只使用一个。另外,它根本不起作用。谁能帮我这个?谢谢!