RosettaCodeData/Task/Emirp-primes/Clojure/emirp-primes.clj
2023-07-01 13:44:08 -04:00

11 lines
457 B
Clojure

(defn emirp? [v]
(let [a (biginteger v)
b (biginteger (clojure.string/reverse (str v)))]
(and (not= a b)
(.isProbablePrime a 16)
(.isProbablePrime b 16))))
; Generate the output
(println "first20: " (clojure.string/join " " (take 20 (filter emirp? (iterate inc 0)))))
(println "7700-8000: " (clojure.string/join " " (filter emirp? (range 7700 8000))))
(println "10,000: " (nth (filter emirp? (iterate inc 0)) 9999))