10 lines
232 B
Text
10 lines
232 B
Text
(defun is-prime-r (x i)
|
|
(declare (xargs :measure (nfix (- x i))))
|
|
(if (zp (- (- x i) 1))
|
|
t
|
|
(and (/= (mod x i) 0)
|
|
(is-prime-r x (1+ i)))))
|
|
|
|
(defun is-prime (x)
|
|
(or (= x 2)
|
|
(is-prime-r x 2)))
|