I\'ve been working on solving Project Euler problems in Clojure to get better, and I\'ve already run into prime number generation a couple of times. My problem is that it is
Idiomatic, and not too bad
(def primes (cons 1 (lazy-seq (filter (fn [i] (not-any? (fn [p] (zero? (rem i p))) (take-while #(<= % (Math/sqrt i)) (rest primes)))) (drop 2 (range)))))) => #'user/primes (first (time (drop 10000 primes))) "Elapsed time: 0.023135 msecs" => 104729