- 167 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 20:35:18 ]
- Windows上のClisp2.48とClojure 1.1.0だと Clojureのfibの方がちょっと速かったな。
(compile 'fib)したらClispの方が速くなったけど。 まあしかし色々書き方あって面白いね (defn lfib [n] (loop [a 1 b 1 i n] (if (= i 0) a (recur b (+ a b) (dec i))))) (use 'clojure.contrib.def) (defn-memo mfib [n] (if (< n 2) 1 (+ (mfib (- n 1)) (mfib (- n 2))))) (def fibseq (map first (iterate (fn [[a b]] [b (+ a b)]) [1 1]))) (time (prn :loop (lfib 40))) (time (prn :memo (mfib 40))) (time (prn :seq (nth fibseq 40)))
|

|