Euler : Problem 25

Posted by YpsilonTAKAI On 2011年5月11日水曜日 0 コメント
最初に1000桁になるフィボナッチ数は?って問題だけど、順に計算してみたらできたからそのまま。
遅延評価の恩恵ですかねぇ。

かなりclojureらしいソースになってんじゃないかと自画自賛。

;;
;; Problem 25 : 2011/5/10
;; "Elapsed time: 0.373232 msecs"
(defn fibo
([]
(concat [1 1] (fibo 1 1)))
([x y]
(let [next-num (+ x y)]
(lazy-seq
(cons next-num (fibo y next-num))))))

(take 1 (drop-while #(< (first %) (expt 10 999))
(map list (my-fibo) (iterate inc 1))))

;;
25問解いたのでレベルが1になったよ。

0 コメント:

コメントを投稿