anchor.diff:  (defun factorial (n)
     (iterate (for i :from 1 :to n)
              (multiplying i)))
  +
  +
  +(defun perfectp (n)
  +  (= n (sum (proper-divisors n))))
  +
  +(defun abundantp (n)
  +  (< n (sum (proper-divisors n))))
  +
  +(defun deficientp (n)
  +  (> n (sum (proper-divisors n))))
   
   
   ;;;; Problems -----------------------------------------------------------------
  
positive.code:   (sort (iterate (for i :from 1 :to (sqrt n))
                   (when (dividesp n i)
                     (collect i)
                     (collect (/ n i))))
          #'<))
  
  (defun proper-divisors (n)
  
negative.code: (test p20 (is (= 648 (problem-20))))
  (test p21 (is (= 31626 (problem-21))))
  (test p22 (is (= 871198282 (problem-22))))
  (test p23 (is (= 4179871 (problem-23))))
  
  
  ;; (run! :euler)
  