SICP-answers icon indicating copy to clipboard operation
SICP-answers copied to clipboard

我的 SICP 解题集

Results 56 SICP-answers issues
Sort by recently updated
recently updated
newest added

按照题解上面给出的结果为18,但是1不是素数,在前面的prime?中应该做一下判断吧,把1过滤出去。 也关联到了1.22等素数判断的一些解答,多加一些判断,比如在next-odd里对0和1过滤。

2.42的函数每计算一次queen-col k需要既然一次queen-col (k-1),计算一次queen (k-2),计算一次queen (k-3)...最终只需计算一次queen-col 1。 而Louis的函数每计算一次queen-col l需计算board-size次queen-col (k-1), 计算queen-col (k-1) 需要计算board-size次 queen-col (k-2).故计算queen-col board-size需要计算board-size的board-size次方次queen-col 1。 故Louis的函数需要pow(board-size,board-size)*T的时间。

这里提供一个自适应的求n次方根的函数(所谓自适应是指,不需要提前知道要进行几次平均阻尼) ``` (define (average-damp f) (lambda (x) (/ (+ x (f x)) 2))) (define (adapt-fixed-point f first-guess) (define (close-enough? guess next) (let ((tolerance 0.00001)) (< (abs (- guess next)) tolerance)))...

非平凡平方根的检测是针对每次要square的那个值,而不是一直是a。 可参考下面的实现: https://github.com/ajkitson/sicp/blob/master/ch1/1.28.scm https://github.com/kenspirit/SICP/blob/master/c-1/1.28-miller-rabin-test.md http://community.schemewiki.org/?sicp-ex-1.28

考虑这个, 第一个过程执行 set! x (sa) , sa =100 刚执行完,sb来了,设置x=11,然后继续 set! x (sa)=100,结果是100

你俩说的都不对,@ruandao 说的是对的,peter先加10快x变成110,mary这个时候来了,第一次去取值为110,然后就在此时,paul开始动了,并把钱设置为90,然后mary第二次取值 90/2=45 ,设置值为 110-45=65,gg!!

不知道什么原因,书中示例和维基百科上关于阿克曼函数的定义是**不一致的**。我修改了代码,但是不知道是否正确,希望能有人看一下。 ``` scheme (define (A x y) (cond ((= y 0) (A (- x 1) 1)) ((= x 0) (+ y 1)) (else (A (- x 1) (A x (-...

我觉得操作-类型表主要是要实现一套通用的接口,求导通用的操作有'deriv和'make两个(因为product需求make-sum),所以只需要两条put,那些addend make-sum都是不必要的,只要放在package的闭包中就行了。 底下的(define (addend ...))更是没有必要,deriv函数根本没有调用这些函数,如果必须定义这些特化的接口,就和通用接口的理念背道而驰了。 我的代码 http://codepad.org/LWlwlN1D

fixed a bug where right tree should be "(cdr tree)" rather than "(cadr tree)"

下载解压之后只有 `index.html` ,其他文件都不存在。