11 lines
457 B
Clojure
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))
|