>>680
ちゃんと手計算した?
次の二つを考えてみ。
・n >= 3のときにcondのどこで実際にとまるのか。
・n < 3のときに本当にn=0の条件節のみでいいのか。

;; あと、fn-1, fn-2, fn-3の名前は意味的には正しくなかった。
;; fn, fn-1, fn-2の名前の方が正しい。

nが下降してて混乱してるのなら、こっちだと理解しやすいかも。
(define (f n)
(define (iter k fk fk-1 fk-2)
(cond ((< n 3) n)
((= k n) fk)
(#t (iter (+ k 1) (+ fk (* 2 fk-1) (* 3 fk-2)) fk fk-1))))
(iter 2 2 1 0))