Skip to content

Instantly share code, notes, and snippets.

@pascalc
Created November 3, 2012 16:21
Show Gist options
  • Save pascalc/4007801 to your computer and use it in GitHub Desktop.
Save pascalc/4007801 to your computer and use it in GitHub Desktop.
Imperative vs declarative prime numbers
(defn factor-of?
[n d]
(= (mod n d) 0))
(defn possible-factors-of
[n]
(range 2 n))
(defn prime? [n]
(cond
(<= n 2) false
:else (not (some #(factor-of? n %) (possible-factors-of n)))))
(doseq [p (filter prime? (range 100))]
(println p))
for i in range(100):
if i >= 2:
prime = True
for possible_factor in range(2, i):
if i % possible_factor == 0:
prime = False
if prime:
print i
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment