2013年5月29日 星期三
NCNU LISP HW7
(define (iterative-improve ok? do)
(define (iim guess)
(if (ok? guess) guess
(iim (do guess))
)
)
iim)
(define (square x)
(* x x))
(define (average x y)
(/ (+ x y) 2))
(define (sqrt x)
((iterative-improve (lambda (guess)
(< (abs (- (square guess) x)) 0.001))
(lambda (guess)
(average guess (/ x guess))))
1.0)
)
(define (fixed-point f guess)
((iterative-improve (lambda (guess)
(< (abs (- (f guess) guess)) 0.00001))
(lambda (guess)
(f guess)))
guess)
)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言