SICP 练习1.16

原创 2016年06月01日 18:47:33

用一个a存答案就可以写出迭代的过程

(define (fast-expt-iter a b n) ; a存的是答案
  (cond ((= n 0) a) ; 终止情况
        ((even? n) (fast-expt-iter a (* b b) (/ n 2))) ; n为偶数
        (else (fast-expt-iter (* a b) b (- n 1))))) ; n为奇数

(define (even? n)
  (= (remainder n 2) 0))

(define (fast-expt b n)
  (fast-expt-iter 1 b n))
版权声明:本文为博主原创文章,未经博主允许不得转载。

SICP 习题1.16-1.19体会

SICP 1.16-1.19习题体会

SICP 习题 (1.16)解题总结

SICP习题1.16要求将书中递归形式的求幂过程fast-expt改写成迭代的。 如果对我们之前对于递归计算过程和迭代计算过程理解的比较透彻的话做这道题问题不大。 首先看看书中的fast-expt过程...

计算机程序的构造与解释作业:练习1.16到1.19

1.16 这个题目就是直译一下题目里面的公式。看开始我看了一下前面的题目,就高高兴兴的写出来了。如下: (define (even? n) (= (remainder n 2) 0)) (de...
  • ssjssh
  • ssjssh
  • 2013年11月11日 17:05
  • 861

【SICP练习】107 练习3.8

练习3-8原文Exercise 3.8. When we defined the evaluation model in section 1.1.3, we said that the first ...
  • NoMasp
  • NoMasp
  • 2015年03月25日 10:38
  • 1230

【SICP练习】102 练习2.79-2.80

练习2.79首先需要加载第125页的apply-generic函数,然后添加题中要求的通用型操作equ?。(define (equ? x y) (apply-generic ‘equ? x y))题目...
  • NoMasp
  • NoMasp
  • 2015年03月06日 12:24
  • 1594

【SICP练习】114 练习3.38-3.39

练习3-38原文Exercise 3.38. Suppose that Peter, Paul, and Mary share a joint bank account that initially...
  • NoMasp
  • NoMasp
  • 2015年03月26日 14:35
  • 3162

【SICP练习】104 练习3.1-3.4

Exercise 3.1. An accumulator is a procedure that is called repeatedly with a single numeric argumen...
  • NoMasp
  • NoMasp
  • 2015年03月08日 17:06
  • 2687

【SICP练习】101 练习2.77-2.78

练习2.77我们首先来看看题目中描述的问题,当Louis Reasoner试着求值(magnitude z)时,程序中不断的寻找。一开始是通过apply-generic、而后是map,最后是get。这...
  • NoMasp
  • NoMasp
  • 2015年03月06日 12:23
  • 2318

【SICP练习】40 练习1.45

 练习1.45 如果看到前面的文章,应该知道我喜欢将某个变量n先设成一个固定的数比如3、4什么的。这里我们依旧如此,先来看看如何写出开四次方根的过程。这道题的目的旨在让我们好好回顾前面...
  • NoMasp
  • NoMasp
  • 2015年02月17日 20:06
  • 1465

【SICP练习】25 练习1.31

 练习1.31 题目中已经说的很清楚了,product用来返回在给定范围中各点的某个函数值的乘积。我们惊奇的发现这和前面的sum有着很大的相似,无非是将加法换成了乘法: (def...
  • NoMasp
  • NoMasp
  • 2015年02月07日 10:35
  • 1797
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SICP 练习1.16
举报原因:
原因补充:

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