큰 값을 집어넣거나 아주 작은 값을 넣으면 부동소수점 문제로 인해 올바른 결과를 출력하지 못한다.
아주 큰 수의 경우, improve가 계속해서 같은 답을 생성하게 되어, good-enough?를 탈출할 수 없는 무한 루프에 빠지게 된다.
작은 숫자의 경우, good-enough에서 정의한 정밀도로 오차를 계산하는 게 의미가 없음을 직관적으로 알 수 있다.
문제에서 주어진대로 good-enough를 어림잡은 값을 헌값에 견주어 고쳐나가는 방식으로 수정하면, 큰 수와 작은 수에서도 문제없이 작동하게 된다.
728x90