1.6
死循环
1.7
#lang racket
(define (square x) (* x x))
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
(define (improve guess x)
(average guess (/ x guess))) (define (average x y)
(/ (+ x y) )) (define (good-enough? guess x)
(< (abs (- (/ (square guess) x) ) ) .)) (define (sqrt x)
(sqrt-iter . x)) (sqrt .)
1.8立方根的牛顿法
#lang racket
(define (power3 x) (* x x x))
(define (square x) (* x x))
(define (curo-iter guess x)
(if (good-enough? guess x)
guess
(curo-iter (improve guess x)
x)))
(define (improve guess x)
(average3 (* guess) (/ x (square guess))))
(define (average3 x y)
(/ (+ x y) ))
(define (good-enough? guess x)
(< (abs (- (/ (power3 guess) x) ) ) .))
(define (curo x)
(curo-iter . x)) (curo )