Clojureを使って初めてコードを書いたので、記念に残しておく。

素数であるかを判定する関数

(defn amari [number]
  (map #(mod number %) [2 3 5 7]))

(defn prime? [number]
  (if (some zero? (amari number)) nil true))

これをひとつにまとめたのが、以下。

(defn prime? [number]
  (if (some zero? (map #(mod number %) [2 3 5 7]))
    nil
    true))

でも、今はまだ、2つの関数で書いたほうがわかりやすいなあ。

これで、以下のようにする。

user> (prime? 3923)
true
user> (prime? 3944)
nil