练习1.38
我最喜欢做数学上的观察题了,这里也有一个Di,其依次为1,2,1,1,4,1,1,6,1,1,8……我最先看到的是除了一开始的2个之外,每三个数字的规律是前面是两个1,后面是个递增的偶数。于是我们便可轻而易举的写出这个函数了。
(define (d i)
(if (= (remainder (- i 2) 3) 0)
(* (+ (/ (- i 2) 3) 1) 2)
1))
而n一直都是1,于是我们定义为:
(define (n i) 1)
由于题中是e-2的连分式,所以在最后的结果上应该再加上2.0。
(define (e k)
(define (n i) 1)
(define (d i)
(if (= (remainder (- i 2) 3) 0)
(* (+ (/ (- i 2) 3) 1) 2)
1))
(+ (cont-frac n d k) 2.0))
下面我们来测试一下:
(e 2015)
;Value: 2.718281828459045
版权声明:本文为 NoMasp柯于旺 原创文章,未经许可严禁转载!欢迎访问我的博客:http://blog.youkuaiyun.com/nomasp
本文探讨了一个有趣的数学观察题目,通过分析一系列数字(1,2,1,1,4,1,1,6...)的规律,发现了每三个数字中前两个为1,后一个为递增偶数的模式。据此,作者使用Scheme语言编写了一个函数来生成这一系列数字,并通过连分式计算得到了e-2的近似值。
380

被折叠的 条评论
为什么被折叠?



