SICP, 1.8

(define (cbrt x)
  (cbrt-iter 1.0 x))
;Value: cbrt

(define (cbrt-iter guess x)
  (define tolerance 0.00001)
  (define (good-enough? guess)
    (< (abs (- (* guess guess guess) x)) tolerance))
  (define (improve guess)
    (/ (+ (/ x (* guess guess)) (* 2 guess)) 3))
  (if (good-enough? guess)
      guess
      (cbrt-iter (improve guess) x)))
;Value: cbrt-iter

;Value: cbrt-iter

(cbrt 9)
;Value: 2.0800838232385224

(define cube (lambda (x) (* x x x)))
;Value: cube

(cube 9)
;Value: 729

(cube 2)
;Value: 8

(cube (cbrt 9))
;Value: 9.00000000242235

----

한글판 SICP 책에 잘못나온 공식으로 어려운 문제이다. 세제곱근을 구하는 뉴튼메서드의 식은

(/ (+ x (* y y) (* 2 y)) 3)

이 아니라

(/ (+ (/ x (* y y)) (* 2 y)) 3)

이다.

by 나젤큐스 | 2008/07/15 19:30 | 트랙백 | 덧글(4)

트랙백 주소 : http://nijelprim.egloos.com/tb/1978444
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by catson at 2008/07/16 12:51
오늘 걸어서 안양천 갔다와봤는데.
가는길이 다 도로라... 공기가 완전 쉣더빡.
안양천 도착하면 딱 좋은데, 그 때는 이미 운동 시간의 50%이상이 소요된 시간 -_-
안양천 딱 찍고 돌아오면 1시간 30분이다. 고민이야, 고민~
Commented by 남훈 at 2008/07/16 14:59
안양천 어느쪽으로 갔냐?
신정교 쪽으로 가는게 제일 편하고 좋다던데.

우리 백수니까 언제 한번 산책이나 갈까 ㅋㅋㅋ
Commented by catson at 2008/07/17 00:49
오목교역 쪽으로. 우리집에서 일자로 쭈욱 가면 바로 나오니깐.
아마 거기서 거기일텐데~ 난 왠만해선 하루에 한 번은 갈거야 아마.
Join me whenever you want!
Commented by catson at 2008/07/17 23:54
안양천 안 가기로 했다. 거기 공기 완전 쓰러지게 드러워 진짜.
한 1시간 뛰었더니 목 아파 죽어.
시영 아파트 고고!

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶