SICP 练习1.18

原创 2016年06月01日 19:12:03

与做ab的方法类似,将b减半,将a加倍,直到b0

(define (double x) (+ x x))
(define (halve x) (/ x 2))
(define (even? x)
  (= (remainder x 2) 0))

(define (fast-multiply ret a b)
  (cond ((= b 0) ret)
        ((even? b) (fast-multiply ret (double a) (halve b)))
        (else (fast-multiply  (+ ret a) a (- b 1)))))

(define (multiply a b)
  (fast-multiply 0 a b))

(multiply 8 11)
版权声明:本文为博主原创文章,未经博主允许不得转载。

练习1.18-练习1.22

1.练习1.18 (define (*-iter a b n) (cond ((= n 0) a) ((even? n) (*-iter a (double b) (halve n))) (e...
  • luzheqi
  • luzheqi
  • 2014年01月08日 21:33
  • 458

SICP 习题 (2.1.4)拓展练习——初论

我只讨论练习2.15和2.16,前面的较简单。 2.15和2.16不能孤立的看,首先我们想想这个所谓区间运算的实质是什么? 没错,集合 我们重新定义加法: \qquad对于集合AA,BB \...

【SICP练习】108 练习3.21

练习3-21原文Exercise 3.21. Ben Bitdiddle decides to test the queue implementation described above. He t...
  • NoMasp
  • NoMasp
  • 2015年03月25日 11:09
  • 1126

【SICP练习】98 练习2.73

练习2.73a小题,这是由于Scheme对数字、变量的直接规定,前者会被当作数值类型,后者则会被当作符号类型。因此没必要将这两个谓词添加到数据导向分派中了。如果给数值类型或者符号类型加上一个标志,在g...
  • NoMasp
  • NoMasp
  • 2015年03月06日 12:16
  • 2169

【SICP练习】44 练习2.3

 练习2.3 我们并不必急于写出点什么,先来回过头看看书吧。第56页说到了一种称为按愿望思维的强有力的综合策略。在这道题里,我们就可以假设已经写好了能够表示矩形的代码,以及能够求矩形长...
  • NoMasp
  • NoMasp
  • 2015年02月17日 20:09
  • 1808

【SICP练习】31 练习1.37

练习1.37 根据题目中的意思通过观察得到k项有项连分式的一种表达方式: f=N1/(D1+(N2/(…+Nk/Dk))) 这个式子可以不断展开,但如果我们把每一个”+”后面的式子记作T(i)。...
  • NoMasp
  • NoMasp
  • 2015年02月17日 19:59
  • 1159

【SICP练习】16 练习1.22

练习1.22 这道题中需要判断素数的部分书中都已经列出来了,但要求是要找出多个素数,因此我们要有一个能够不断求素数的函数。在C等语言中我们可以通过一个for循环来轻易地求出来,在Scheme中我们完...
  • NoMasp
  • NoMasp
  • 2015年02月07日 10:26
  • 1814

【SICP练习】105 练习3.5-3.6

练习3-5原文Exercise 3.5. Monte Carlo integration is a method of estimating definite integrals by means ...
  • NoMasp
  • NoMasp
  • 2015年03月11日 18:08
  • 2563

【SICP练习】110 练习3.23

练习3-23原文Exercise 3.23. A deque (“double-ended queue”) is a sequence in which items can be inserted ...
  • NoMasp
  • NoMasp
  • 2015年03月26日 11:57
  • 1717

【SICP练习】40 练习1.45

 练习1.45 如果看到前面的文章,应该知道我喜欢将某个变量n先设成一个固定的数比如3、4什么的。这里我们依旧如此,先来看看如何写出开四次方根的过程。这道题的目的旨在让我们好好回顾前面...
  • NoMasp
  • NoMasp
  • 2015年02月17日 20:06
  • 1469
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SICP 练习1.18
举报原因:
原因补充:

(最多只允许输入30个字)