一人読書会 「計算機プログラムの構造と解釈」 (9)

 

1.1.7 Newton 法による平方根

 

問題 1.8

立方根をとるNewton法は y が x の立方根の近似値なら、よりよい近似は以下の値で与えられるという事実によっている。この手続きを実装せよ。

newton06_01

(define (good-enough? guess pre-guess)
  (< (abs (- guess pre-guess)) 0.001))
(define (improve guess x)
  (/ (+ (/ x (* guess guess)) (* 2 guess)) 3))
(define (cuberoot-itr guess x) 
  (if (good-enough? (improve guess x) guess)
      (improve guess x)
      (cuberoot-itr (improve guess x)
                x)))
(define (cuberoot x) (cuberoot-itr 1.0 x))

newton07_01

こんな感じかな。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です