SICP 习题1.39沿着习题1.37, 1.38的方向继续前行,要求我们根据德国数学家J.H.Lambert的公式定义tan-cf过程,用于计算正切函数的近似值。
J.H.Lambert的公式如下:
可以发现,这个和之前的无穷连分式是一样一样的,所不同的就是N是一个变量,不是固定数值。
不过这个已经难不倒我们啦,可以从公式中发现,除了第一个N是x,其它的N都是x平方,
D对应的数值是1,3,5,就是所有奇数,以数字n为下标的话可以通过((n * 2)-1) 得到。
最后直接定义以下过程搞定:
(define (tan-cf x k) (cont-frac (lambda (i) (if (= i 1) x (* x x))) (lambda (i) (- (* i 2.0) 1)) k))
SICP 习题 (1.39)解题总结
时间: 2024-12-29 11:29:54