标签:
#lang racket (define (cont-frac N D k) (define (cf t) (if (= t 1) (/ (N t) (D t)) (/ (N t) (+ (D t) (cf (- t 1)))) );if );cf (cf k) );cont-frac (define (cont-frac-iteration N D k) (define (cf result t) (if (= t k) result (cf (/ (N t) (+ (D t) result));/ (+ t 1));cf );if );cf (cf (/(N k) (D k)) 1) );cont-frac-iteration (cont-frac (lambda(i) 1.0) (lambda(i) 1.0) 10) (cont-frac-iteration (lambda(i) 1.0) (lambda(i) 1.0) 10)
因为连分式本质上就是一个除法计算序列,所以题目给出 k 项连分式:
可以转换成以下等价的除法计算序列:
而这个除法序列又可以用一个递归表达式来表示:
其中函数 cf(i) 表示连分式的第 i 个项。
标签:
原文地址:http://www.cnblogs.com/wizzhangquan/p/4375603.html