您的位置:首页 > 其它

SICP 习题答案1.11

2013-03-03 21:23 405 查看
(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)))))))
以上方法是线性递归
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: