计算机程序的构造和解释 9.5分
读书笔记 练习1.11
151****4605

这里主要关注迭代过程。

如果要实现f(n),由公式可知我们需要f(n-1),f(n-2),f(n-3),最终f(n)都可由f(0),f(1),f(2)表示(n > 3时),给个例子

f(3)=f(2)+2f(1)+3f(0)

f(4)=f(3)+2f(2)+3f(1)

f(5)=f(4)+2f(3)+3f(2)

也就是说,如果我们要表示f(n),首先我们要表示f(3),然后表示f(4),依次继续,而f(4)需要用f(1),f(2),f(3)来表示,f(3)需要f(0),f(1),f(2)来表示

(define (foo n) #函数名称 (define (foo-iter a b c n) #给了四个参数,n是我们需要计算的数,同时也用于降阶,使程序终止 (if (< n 3) a (foo-iter (+ a (* 2 b) (* 3 c)) a b (- n 1)))) #表示计算过程,进行迭代 (if (< n 3) n (foo-iter 2 1 0 n))) #给定了基数

0
《计算机程序的构造和解释》的全部笔记 187篇
豆瓣
我们的精神角落
免费下载 iOS / Android 版客户端