递归和迭代两种过程求解:
f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3), n>=3
f(n) = n, n<3
(define (f-r n)
(if (< n 3)
n
(+ (f-r (- n 1)) (* 2 (f-r (- n 2))) (* 3 (f-r (- n 3))))))
(define (f-i n)
(define (iter a b c count)
(if (= count 0)
a
(iter b c (+ c (* 2 b) (* 3 a)) (- count 1))))
(iter 0 1 2 n))