SICP1.7
public text v1 · immutable(define (sqrt-iter guess x)
(if (good-enough? guess (improve guess x))
guess
(sqrt-iter (improve guess x) x)))
(define (improve guess x) (average guess (/ x guess)))
(define (average x y) (/ (+ x y) 2))
(define (square x) (* x x))
(define (good-enough? guess x) (< (abs (- 1 (/ guess x))) 0.0001))
(define (sqrt x) (sqrt-iter 1.0 x))
(print (sqrt 9))
(print (sqrt 0.000001))
(print (sqrt 9000000000000))