Exercise 1.8

文責:@iriya_ufo
(define (cubic-root-iter old-guess new-guess x)
  (if (good-enough? old-guess new-guess x)
      new-guess
      (cubic-root-iter new-guess (improve new-guess x)
                    x)))

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

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

(define (good-enough? old-guess new-guess x)
  (< (abs (- 1.0 (/ old-guess new-guess))) 0.001))

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

Previous topic

Exercise 1.7

Next topic

Exercise 1.9