这题直接将相应的 N 函数和 D 函数给出就行了。
其中, N_i 只有当 i 为 1 时返回 x ,其他情况下都返回 -(x^2) (因为连分式内 D_i 进行的是减法操作)。
D_i 则返回 i 所指定的位置的奇数,也即是,当 i 为 1 时,返回第一个奇数 1 , i 为 2 时,返回第二个奇数 3 ,以此类推。
.. literalinclude:: code/39-tan-cf.scm
可以使用 MIT Scheme 内置的 tan 函数和 tan-cf
进行对比测试,验证 tan-cf
的正确性:
1 ]=> (load "39-tan-cf.scm") ;Loading "39-tan-cf.scm"... ; Loading "37-iter-cont-frac.scm"... done ;... done ;Value: tan-cf 1 ]=> (tan 10) ;Value: .6483608274590866 1 ]=> (tan-cf 10 100) ;Value: .6483608274590866 1 ]=> (tan 25) ;Value: -.13352640702153587 1 ]=> (tan-cf 25 100) ;Value: -.13352640702153587