Sunday, November 30, 2014

Project Euler Problem 21 Common Lisp

Project Euler Problem 21

(defun d (num)
  (+ 1
     (loop for i from 2 to (isqrt num)
           if (zerop (mod num i))
           sum i
           and sum (/ num i))))

(defun problem21 ()
  (loop for i from 1 below 10000
        for j = (d i)
        if (and (/= i j) (= i (d j)))
        sum i))

No comments:

Post a Comment