最初に1000桁になるフィボナッチ数は?って問題だけど、順に計算してみたらできたからそのまま。
遅延評価の恩恵ですかねぇ。
かなりclojureらしいソースになってんじゃないかと自画自賛。
遅延評価の恩恵ですかねぇ。
かなりclojureらしいソースになってんじゃないかと自画自賛。
;;25問解いたのでレベルが1になったよ。
;; 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))))
;;
0 コメント:
コメントを投稿