* 素数を求める
素直じゃない再帰・マクロ(ほぼ)無し
update : 2006-06-22 (Thu) 00:42:02
(defun generate-primes (limit) (format t "~{ ~D~}~%" (funcall (lambda (f c n &optional (x 3) (prime (list 2))) (funcall f f c n x prime)) (lambda (f c n x prime) (if (> x n) (nreverse prime) (if (funcall c c x prime) (funcall f f c n (+ x 2) (cons x prime)) (funcall f f c n (+ x 2) prime)))) (lambda (c x prime) (if (endp prime) t (if (zerop (rem x (car prime))) nil (funcall c c x (cdr prime))))) limit)))
update : 2006-06-22 (Thu) 00:42:02