diff --git a/lisp/euler.lisp b/lisp/euler.lisp index f4343b0..30d2fb5 100644 --- a/lisp/euler.lisp +++ b/lisp/euler.lisp @@ -10,7 +10,7 @@ ) (defun prime (n) - (eq (length (member T (mapcar (lambda (a) (eq (mod n a) 0)) (range 2 (sqrt n))))) 0) + (eq (length (member T (mapcar (lambda (a) (and (eq (mod n a) 0) (/= n a))) (range 2 (sqrt n))))) 0) ) (defun cartesian-helper (thing list) diff --git a/lisp/euler007.lisp b/lisp/euler007.lisp new file mode 100644 index 0000000..6da7cbf --- /dev/null +++ b/lisp/euler007.lisp @@ -0,0 +1,5 @@ +(load "euler.lisp") + +(defun solution () + (first (reverse (loop for i from 2 when (prime i) collect i into prime-list when (eq 10001 (length prime-list)) return prime-list))) +)