2008. 2. 24.

연습문제 1.8

뉴튼 메서드에 관련된 사항이 잘못된것 같다.

(x + y*y + 2y) / 3 이 아니고

(x/y*y + 2y) / 3이 맞는거 같음

이 경우 해법은

(define (cube x) (* x x x))

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

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

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

과 같이 풀 수 있음

댓글 없음:

댓글 쓰기