首页 > 代码库 > SICP 1.37 1.38 1.39
SICP 1.37 1.38 1.39
解:1.37
(define tolerance 0.00001) (define (average x y) (/ (+ x y) 2.0)) (define (fixed-point f first-guess) (define (close-enought? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (display guess) (newline) (let ((next (f guess))) (if (close-enought? guess next) next (try next)))) (try first-guess)) (define (cont-frac n d k) (define (calc i) (if (> i k) 0 (/ (n i) (+ (d i) (calc (+ i 1)))))) (calc 1)) (define (cont-frac-iter n d k) (define (calc i result) (if (= i 0) result (calc (- i 1) (/ (n i) (+ (d i) result))))) (calc k 0))
1.38
(define (calc-e k) (define (d i) (let ((r (remainder i 3))) (if (or (= r 0) (= r 1)) 1 (+ 2 (* (floor (/ i 3)) 2))))) (+ 2 (cont-frac-iter (lambda (x) 1.0) d k)))
1.39
N函数要注意另上负号
(define (tan-cf x k) (define (n i) (if (= i 1) x (- (* x x)))) (define (d i) (- (* 2 i) 1)) (cont-frac-iter n d k))
SICP 1.37 1.38 1.39
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。