(define (f n)
(if (< n 3)
n
(fn-iter 0 1 2 n)))
(define (fn-iter a b c count)
(if (< count 3)
c
(fn-iter
b
c
(+ (+ c (* 2 b)) (* 3 a))
(- count 1))))
以上方法是线性迭代
(define (f n)
(cond ((= n 0) 0)
((= n 1) 1)
((= n 2) 2)
(else (+ (+ (f (- n 1)) (* 2 (f (- n 2)))) (* 3 (f (- n 3)))))))
以上方法是线性递归
本文探讨了两种实现斐波那契数列的方法:线性迭代与线性递归。通过定义函数fn展示了每种方法的具体实现过程,并对比了它们在计算效率上的差异。
629

被折叠的 条评论
为什么被折叠?



