函数
f
是递归实现
函数 f1 是迭代实现
(define (f n)
(cond ((< n 3) n)
(else (+ (f (- n 1))
(* 2 (f (- n 2)))
(* 3 (f (- n 3)))))))
(define (f1 n)
(f2 2 1 0 n))
(define (f2 a b c n)
(cond ((< n 2) n)
((= n 2) a)
(else (f2 (+ a (* 2 b) (* 3 c)) a b (- n 1)))))