SICP 1.11練習問題 をClojureでといてみた
練習問題1.11です。
再帰プロセス
(defn f[n]
(if (< n 3)
n
(+ (f (dec n)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))))
(f 10)
反復プロセス
(take 11 (concat '(0 1)(map #(last %) (iterate (fn[[a b c]]
[b c (+ (* 3 a) (* 2 b) c)]) [0 1 2]))))