按照题目整理得出N和D的公式
N
1
=
x
N
i
=
−
x
2
(
i
>
1
)
D
i
=
2
∗
i
−
1
N_1=x\\ N_i=-x^2(i>1)\\ D_i=2*i-1
N1=xNi=−x2(i>1)Di=2∗i−1
过程代码为:
#lang racket
(define pi 3.1415926)
(define (cont-frac n d k)
(define (recursion a)
(if (= a k) (/ (n a) (d a))
(/ (n a) (+ (d a) (recursion (+ a 1))))))
(recursion 1)
)
(define (tan-cf x k)
(cont-frac (lambda (i)
(if(= i 1) x (- 0 (* x x))))
(lambda (i) (- (* 2 i) 1))
k))
//计算tan60°也就是tan(π/6)
(tan-cf (/ pi 6) 100)
运算结果正确
0.577350257280783