练习1.8

(define (square x)
    (* x x))

(define (improve guess x)
    (/ (+ (/ x
             (square guess))
          (* 2 guess))
       3))

(define (good-enough? guess improved-guess)
    (< (/ (abs (- improved-guess guess))
          guess)
       0.001))

(define (cube-root-iter guess x)
    (if (good-enough? guess (improve guess x))
        guess
        (cube-root-iter (improve guess x)
                   x)))

(define (cube-root x)
    (cube-root-iter 1.0 x))

最主要修改improve过程

这份代码使用了练习1.7提出的改进 即监测guess的改变值大小决定是否停止过程

results matching ""

    No results matching ""