; ====================================================================== ; ; Structure and Interpretation of Computer Programs ; (trial answer to excercises) ; ; 計算機程序的構造和解釋(習題試解) ; ; created: code17 02/24/05 ; modifIEd: ; (保持內容完整不變前提下,可以任意轉載) ; ====================================================================== ;; SICP No.1.8 ;; 只需要替換No.1.7中的improve函數算法即可 (define (improve guess x) (/ (+ (/ x (* guess guess)) (* 2 guess)) 3)) (define (good-enough? oldguess guess) (< (abs (/ (- guess oldguess) guess)) 0.001)) (define (cube-iter oldguess guess x) (if (good-enough? oldguess guess) guess (cube-iter guess (improve guess x) x))) (define (cube-root x) (cube-iter 0.0 1.0 x)) ;; Test-it: ;; Welcome to MzScheme version 209, Copyright (c) 2004 PLT Scheme, Inc. ;; > (cube-root 0) ;; 4.9406564584125e-324 ;; > (cube-root 125) ;; 5.000000000287929 ;; > (cube-root 1000) ;; 10.000000145265767 ;; > (cube-root -27) ;; -3.000000005383821 ;; >