SICP 1.10

>

解:这道题有前提条件:x==0 || y==0 || y==1 || (x>0 && y >1)

(A 1 10)==1024

(A 2 4)==65536

(A 3 3)==65536

n>=0

(f n)=2*n

(g n)=2的n次方

(h n)=h(n)=2的h(n-1)次方,其中h(1)=2,h(0)=0;或

解题技巧:阅读完整个题目,可以肯定是有规律可循的。采用顺推的方式,如先求(A 1 1),再(A 1 2) (A 1 3) ...。

SICP 1.10

时间: 2024-10-11 10:46:15

SICP 1.10的相关文章

百度粉红色风科技上来看积分

http://www.ebay.com/cln/508gua_gvqjq/-/167266747010/2015.02.10 http://www.ebay.com/cln/jhu2290/-/167423283013/2015.02.10 http://www.ebay.com/cln/cha.m22/-/167166250017/2015.02.10 http://www.ebay.com/cln/fenyu56/-/167382503016/2015.02.10 http://www.eb

百度附件是分开就爱死了开发了

http://www.ebay.com/cln/m_m3154/-/167249028014/2015.02.10 http://www.ebay.com/cln/zhsu412/-/167238372018/2015.02.10 http://www.ebay.com/cln/mi.han5/-/167545028015/2015.02.10 http://www.ebay.com/cln/lij5252/-/167389481016/2015.02.10 http://www.ebay.co

SICP 习题 (2.10)解题总结: 区间除法中除于零的问题

SICP 习题 2.10 要求我们处理区间除法运算中除于零的问题. 题中讲到一个专业程序员Ben Bitdiddle看了Alyssa的工作后提出了除于零的问题,大家留意一下这个叫Ben的人,后面会不断出现这个人,只要是这个人提到的事情一般是对的,他的角色定位是个计算机牛人,不过是办公室经常能看到的那种牛人,后面还有更牛的. 对于区间运算的除于零的问题,处理起来也比较简单,只需要判断除数是不是为零,除数为零就报错.对于一个区间来讲,所谓为零就是这个区间横跨0,再直接一点讲就是起点是负数,终点是正数

【SICP练习】3 练习1.9-1.10

练习1.9 以下是第一个加起两个正整数的方法,其中inc将参数加1,dec将参数减1. (define (+ a b) (if (= a 0) b (inc (+ (dec a) b)))) 用代换模型展示(+ 4 5)如下: (+ 4 5) (inc (+ 3 5)) (inc (inc (+ 2 5))) (inc (inc (inc (+ 1 5)))) (inc (inc (inc (inc (+ 0 5))))) (inc (inc (inc (inc 5)))) (inc (inc

【SICP练习】6 练习1.10

 我们先将Ackermann函数写入Edwin中,当然了,再获取结果之前应该先自己用笔算算.结果如下: (A 1 10) ;Value: 1024 (A 2 4) ;Value: 65536 (A 3 3) ;Value: 65536 其中65536也就是16的四次方. 接下来通过连续的n值来观察题目中随后给出的几个过程.和之前一样,直接代入题目中所给的函数即可. (define (f n) (A 0 n)): n   0 1  2  3  4  5   6   7   8   9 (f n

【SICP练习】10 练习1.16

 练习1.16 这道题题目特别长,说的无非就是要用一个不变量记录中间结果,然后写出对数步数内的通过迭代来计算幂的函数,当然了还要用到题目中括号内的那个关系.下面就直接上代码了: (define(fast-expt b n) (fast-expt-iter 1 b n)) (define(fast-expt-iter a b n) (cond ((= n 0) a) ((even? n) (fast-expt-iter a (square b) (/ n 2))) ((odd? n) (fas

【SICP练习】10 练习1.34

练习1.34 这道题我一开始不用Edwin的时候觉得是会陷入无限循环之中.后来在Edwin上试了一下才发现会报错,输出如下: (f f) ;The object 2 is not applicable. ;To continue, call RESTART with an option number: ;  (RESTART 2) => Specify a procedure to use in its place. ;  (RESTART 1) => Return to read-eval-

Racket 模拟SICP的流(延时计算)

默认的Racket是要对函数参数进行求值的, 例如(f 1 (+ 1 2))里面,(+ 1 2)要先求值为3,变为(f 1 3)再进行下一步操作.因此, Racket若按照SICP使用define关键字来定义延时计算的关键函数delay和cons-stream是不可行的, 需要用宏来定义,绕过求值. #lang racket (define (memo-proc proc) (let ((already-run? #f) (result #f)) (lambda () (if already-r

sicp 习题(1)

*/--> sicp 习题(1) Table of Contents 1. 1.1 求值 2. 1.2 前缀形式转换 3. 1.3 求较大的两个数之和 4. 1.4 描述行为 5. 1.5 applicative order vs normal order 1 1.1 求值 2 1.2 前缀形式转换 (/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5))))) 3 (- 6 2) (- 2 7)) 我的做法是从内到外开始写的 3 1.3 求较大的两个数之和 (define (f x