아주 큰 수의 경우는 알 수 없지만 문제는 소수점 이하의 수인경우이다.
/> (sqrt-iter 0.1 0.001)
0.03659090909090909
따라서 이 경우에는 improve를 실행할 때 해당 값이 이전 값에 비해 얼마나 진전했는지를 알아야한다.
진전한 양이 극히 적은 경우에는 guess 값을 인정한다.
(define (sqrt-iter-delta guess guess2 x)
(if (good-enough-delta? guess guess2 )
guess
(sqrt-iter-delta (improve guess x) guess x)))
(define (good-enough-delta? guess guess2 )
(< (abs (- guess guess2)) 0.001))

/> (sqrt-iter 0.1 0.001)
0.03659090909090909
따라서 이 경우에는 improve를 실행할 때 해당 값이 이전 값에 비해 얼마나 진전했는지를 알아야한다.
진전한 양이 극히 적은 경우에는 guess 값을 인정한다.
(define (sqrt-iter-delta guess guess2 x)
(if (good-enough-delta? guess guess2 )
guess
(sqrt-iter-delta (improve guess x) guess x)))
(define (good-enough-delta? guess guess2 )
(< (abs (- guess guess2)) 0.001))

댓글 없음:
댓글 쓰기