SICP1.8
public text v1 · immutable(define (cube-root x) (cube-root-iter 1.0 x))
(define (cube-root-iter guess x)
(if (good-enough? guess (improve guess x))
guess
(cube-root-iter (improve guess x) x)))
(define (good-enough? x y) (< (abs (- 1 (/ x y))) 0.0001))
(define (improve guess x) (/ (+ (/ x (square guess)) (* 2 guess)) 3))
(define (square x) (* x x))
(print (cube-root 8))
(print (cube-root 1000000000000))
(print (cube-root 0.00000001))
(print (cube-root 1))
(print (cube-root 0))