Anonymous user
Primality by trial division: Difference between revisions
→{{header|Clojure}}
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 '''3''' to '''√{{overline| n }} ''' 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}}==
|