(defun prime? (n)
(loop for i from 2 to (/ n 2) do
(when (= (mod n i) 0)
(return-from prime? NIL)))
T)
(defun take-n-primes (n)
(labels ((next-prime (current)
(loop for i from (1+ current) do
(when (prime? i)
(return i)))))
(let ((primes nil)
(current-prime 2))
(dotimes (i n)
(push current-prime primes)
(setf current-prime (next-prime current-prime)))
(nreverse primes))))
(print (take-n-primes 10))
KGRlZnVuIHByaW1lPyAobikKICAobG9vcCBmb3IgaSBmcm9tIDIgdG8gKC8gbiAyKSBkbwogICAgKHdoZW4gKD0gKG1vZCBuIGkpIDApCiAgICAgICAgICAocmV0dXJuLWZyb20gcHJpbWU/IE5JTCkpKQogIFQpCiAKKGRlZnVuIHRha2Utbi1wcmltZXMgKG4pCiAgKGxhYmVscyAoKG5leHQtcHJpbWUgKGN1cnJlbnQpCiAgICAgICAgICAgIChsb29wIGZvciBpIGZyb20gKDErIGN1cnJlbnQpIGRvCiAgICAgICAgICAgICAgKHdoZW4gKHByaW1lPyBpKQogICAgICAgICAgICAgICAgKHJldHVybiBpKSkpKSkKICAgIChsZXQgKChwcmltZXMgbmlsKQogICAgICAgICAgKGN1cnJlbnQtcHJpbWUgMikpCiAgICAgIChkb3RpbWVzIChpIG4pCiAgICAgICAgKHB1c2ggY3VycmVudC1wcmltZSBwcmltZXMpCiAgICAgICAgKHNldGYgY3VycmVudC1wcmltZSAobmV4dC1wcmltZSBjdXJyZW50LXByaW1lKSkpCiAgICAgIChucmV2ZXJzZSBwcmltZXMpKSkpCiAKKHByaW50ICh0YWtlLW4tcHJpbWVzIDEwKSk=