sicp 1.8

求立方根的牛顿法:

 

 

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

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

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

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

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

你可能感兴趣的:(SICP)