Primality by trial division: Difference between revisions

Content added Content deleted
m (→‎compact version: elided scrolling for the output section.)
Line 647:
 
=={{header|Clojure}}==
The function used in both versions:
<lang clojure>(defn divides? [k n] (zero? (mod k n)))</lang>
 
Simple loop from &nbsp; '''3''' &nbsp; to &nbsp; '''&radic;{{overline|&nbsp;n&nbsp;}} &nbsp;''' with step '''2''':
(defn prime? [x]
<lang clojure>(defn prime? [x]
(or (= 2 x)
(= 3 x)
Line 656 ⟶ 658:
(not-any? (partial divides? x)
(range 3 (math/sqrt x) 2)))))</lang>
 
A similar method, but only with prime divisors:
 
<lang clojure>(declare prime?)
 
(def primes (filter prime? (range)))
 
(defn prime? [x]
(or (= 2 x)
(and (integer? x)
(< 1 x)
(not-any? (partial divides? x)
(take-while (partial > (math/sqrt x)) primes)))))
</lang>
 
=={{header|CMake}}==