Skip to content

Latest commit

 

History

History
61 lines (35 loc) · 1.39 KB

38.rst

File metadata and controls

61 lines (35 loc) · 1.39 KB

练习 1.38

既然已经知道了函数 N 的定义,那么这道题的关键就是找出函数 D 生成数值序列的模式了。

分析书中给出的 D_i 生成的序列:

i 1 2 3 4 5 6 7 8 9 10 11 ...
D_i 1 2 1 1 4 1 1 6 1 1 8 ...

观察以上序列,可以发现函数 D_i 的规律:

  • (i + 1) 取模 3 等于 0 时, D_i 等于 (i + 1) / 3 * 2
  • 其他情况下, D_i 返回 1

根据以上规律,可以写出完整的求 e 函数了:

.. literalinclude:: code/38-e.scm

测试:

1 ]=> (load "38-e.scm")

;Loading "38-e.scm"...
;  Loading "37-iter-cont-frac.scm"... done
;... done
;Value: e

1 ]=> (e 1)

;Value: 3.

1 ]=> (e 2)

;Value: 2.6666666666666665

1 ]=> (e 3)

;Value: 2.75

1 ]=> (e 4)

;Value: 2.7142857142857144

1 ]=> (e 5)

;Value: 2.71875

1 ]=> (e 10)

;Value: 2.7182817182817183

1 ]=> (e 100)

;Value: 2.718281828459045