Skip to content

Instantly share code, notes, and snippets.

@srideepprasad
Last active August 29, 2015 13:57
Show Gist options
  • Save srideepprasad/9525195 to your computer and use it in GitHub Desktop.
Save srideepprasad/9525195 to your computer and use it in GitHub Desktop.
Simple Clojure Prime Sieve
(defn primes [m n]
(defn filter-non-primes
([numbers] (filter-non-primes numbers #{}))
([numbers current-prime-set]
(let
[next-prime (first numbers)]
(if (empty? numbers)
(filter #(> %1 m) current-prime-set)
(recur (doall(remove #(= (mod %1 next-prime) 0) numbers)) (conj current-prime-set next-prime))
))))
(filter-non-primes (range 2 n))
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment