#!/usr/local/bin/sbcl --script (defvar inputs (list 1 2 6 8 28 46)) (print inputs) (print (loop for i from 1 to 30 collect (cond ((= 0 (mod i 15)) "FizzBuzz") ((= 0 (mod i 3)) "Fizz") ((= 0 (mod i 5)) "Buzz") (t i)))) (defun perfectNumberFunctional (n) (= n (loop for i from 1 below n when (= 0 (mod n i)) sum i))) (dolist (x inputs) (perfectNumberFunctional x) (princ x) (princ " ") (princ (perfectNumberFunctional x)) (if (perfectNumberFunctional x) (princ " is perfect") (princ " is NOT perfect") ) (princ " ") )