计算机程序的构造和解释 练习 1.36

来源:互联网 发布:js语言精粹笔记 编辑:程序博客网 时间:2024/06/08 02:26
#lang racket(define tolerance 0.00001)(define (fixed-point f first-guess)  (define (close-enough? v1 v2)    (< (abs (- v1 v2)) tolerance))  (define (try guess)    (display guess) (newline)     (let ((next (f guess)))      (if (close-enough? guess next)          next          (try next))))  (try first-guess));:求黄金分割;:(fixed-point (lambda (x) (+ 1 (/ 1 x))) 1.0);: 求 x^x=1000的根(fixed-point (lambda (x) (/ (log 1000) (log x))) 3)(newline)(newline);: 求 x^x=1000的根(fixed-point (lambda (x) (/ (+ x (/ (log 1000) (log x))) 2)) 3)

结果:

欢迎使用 DrRacket, 版本 6.5 [3m].
语言: racket, with debugging; memory limit: 128 MB.

3
6.287709822868153
3.757079790200296
5.218748919675315
4.180797746063314
4.828902657081293
4.386936895811029
4.671722808746095
4.481109436117821
4.605567315585735
4.522955348093164
4.577201597629606
4.541325786357399
4.564940905198754
4.549347961475409
4.5596228442307565
4.552843114094703
4.55731263660315
4.554364381825887
4.556308401465587
4.555026226620339
4.55587174038325
4.555314115211184
4.555681847896976
4.555439330395129
4.555599264136406
4.555493789937456
4.555563347820309
4.555517475527901
4.555547727376273
4.555527776815261
4.555540933824255

4.555532257016376


3
4.643854911434076
4.571212264484558
4.558225323866829
4.555994244552759
4.555613793442989
4.5555490009596555
4.5555379689379265

4.55553609061889

0 0
原创粉丝点击