【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) 0  2  4  6  8  10  12  14  16  18

相信大家一看便知,计算的是n2倍。

同样的,过程g计算的是2n次方。

至于最后一个,当n等于01234时,结果依次为0241665536。计算n=5时,返回的只是超过了最大递归深度。但由此我们依旧可以得出结论。

20次幂为1

21次幂为2

22次幂为4

24次幂为16

216次幂为65536

265536次幂为……

版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

posted @ 2015-02-05 13:19  nomasp  阅读(110)  评论(0编辑  收藏  举报