(= (__ 2) [2 3])
(= (__ 5) [2 3 5 7 11])
(= (last (__ 100)) 541)
(fn prime-numbers
([n] (take n (prime-numbers)))
([]
(letfn [(prime-number? [n]
(every? #(->> % (rem n) (not= 0)) (drop 2 (range n))))
(next-prime [n]
(some
#(when (prime-number? %) %)
(drop (inc n) (range))))]
(iterate next-prime 2))))
转载于:https://my.oschina.net/diqye/blog/523340