13 lines
399 B
Text
13 lines
399 B
Text
(include-book "arithmetic-3/top" :dir :system)
|
|
|
|
(defun prime-factors-r (n i)
|
|
(declare (xargs :mode :program))
|
|
(cond ((or (zp n) (zp (- n i)) (zp i) (< i 2) (< n 2))
|
|
(list n))
|
|
((= (mod n i) 0)
|
|
(cons i (prime-factors-r (floor n i) 2)))
|
|
(t (prime-factors-r n (1+ i)))))
|
|
|
|
(defun prime-factors (n)
|
|
(declare (xargs :mode :program))
|
|
(prime-factors-r n 2))
|