2008年9月16日火曜日

計算機プログラムの構造と解釈 問題1.8


このエントリーをはてなブックマークに追加


立方根をとるNewton法の手続きを作成
立方根の近似は¥frac{x/y^2+2y}{3}の繰り返しで獲られる。



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


(define (good-enough? guess x)
( < (abs (- guess (improve guess x) )) (* guess 0.001)))


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

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

(cube-root-iter 1.0 8)



square root -> sqrt は数学用語でもあるから良いけど、cube root -> curt はどうかと思ふ。

追記
(/ x (square guess))

(/ x guess guess)
でも良い。
ちょっと新鮮。





0 件のコメント:

コメントを投稿