10 lines
306 B
Common Lisp
10 lines
306 B
Common Lisp
|
(defun get-primes (max)
|
||
|
(let ((primes nil)
|
||
|
(composites (make-array (1+ max) :initial-element 0)))
|
||
|
(loop for n from 2 upto max
|
||
|
do (when (= 0 (aref composites n))
|
||
|
(push n primes)
|
||
|
(loop for m from (* 2 n) upto max by n
|
||
|
do (incf (aref composites m)))))
|
||
|
(nreverse primes)))
|