Project Euler Problem 10
(defun prime? (num)
(flet ((multiple? (a b) (zerop (mod a b))))
(cond ((evenp num) (= 2 num))
((< num 2) nil)
((multiple? num 3) (= 3 num))
((loop for i from 5 to (isqrt num) by 6
never (or (multiple? num i)
(multiple? num (+ i 2))))))))
(defun problem10 ()
(loop for i below 2000000
if (prime? i) sum i))
No comments:
Post a Comment