多少慣れてきました
Clojureに少しづつですが慣れてきました。
今日はネットにあった問題をClojureで書いてみたので、ちょっと公開してみます。
まず問題が
1000 未満の 3 か 5 の倍数になっている数字の合計を求めよ
でコードは
まず3と5の倍数をとる関数を作成
(defn get3or5 [x]
(if (or (zero? (rem x 3)) (zero? (rem x 5))) x))
そして3と5の倍数だけで任意の数の中身を持つシーケンスを作る関数を作成
(defn array3or5 [int]
(for [n (take int (iterate inc 1)) :when (get3or5 n)] n))
あとはシーケンスの中身を全部足す
(reduce + (array3or5 999))
結果は233168でした。まぁ当ってるかわかんないんですけど。
やっぱりカッコが多いですね。
どこでカッコを終わらせればいいか不安になってきます。
実際エラーを連発させました。