1.38
练习 1.38 在1737年,瑞士数学家莱昂哈德·欧拉发表了一篇论文 De Fractionibus Continuis,文中包含了e-2的一个连分式展开,其中的e是自然对数的底。在这一分式中, 全都是1,而依次为1,2,1,1,4,1,1,6,1,1,8,……。请写出一个程序,其中使用你在练习1.37中所做的cont-frac过程,并能基于欧拉的展开式求出e的近似值。
(define (d i)
(if (= 2 (mod i 3)) (* 2 (ceiling (/ i 3))) 1)
)
(d 1)
(d 2)
(d 3)
(d 4)
(d 5)
(d 6)
(d 7)
(d 8)
(d 9)
(d 10)
(d 11)
(define (cont-frac n d k)
(define (g i k)
(if (= i k) (/ (n k) (d k))
(/ (n i) (+ (d i) (g (+ i 1) k)))
)
)
(g 1 k)
)
(cont-frac (lambda (i) 1.0)
d
1)
(cont-frac (lambda (i) 1.0)
d
2)
(cont-frac (lambda (i) 1.0)
d
3)
e =
(+ 2 (cont-frac (lambda (i) 1.0)
d
50))