练习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的改变值大小决定是否停止过程