이번에 준비한 문제는 무시무시한 수학올림피아드 문제이다.
제목에 언급했듯 제 21회 한국수학올림피아드(KMO) 1차시험 고등부 A형 19번문제를 가져왔다. 올림피아드 문제라고 거창하고 긴 문제가 전혀 아니지만, 그럼에도 불구하고 상당히 트리키(tricky)한 문제라 하겠다.
단언컨대 누구나 이해할 수 있는 매우 간단한 문제이다. √k의 역수를 k=1일 때부터 2007까지 계속 더하면 대충 얼마냐는 그런 문제인데, 말이 쉽지 제곱근의 역수를 일일이 계산해서는 도저히 풀릴 것 같지 않다. 뾰족한 수가 있는가?
주어진 문제를 풀기 위해 도전 500제(Five Hundred Mathematical Challenges, by Edward J. Barbeau, Murray S. Klamkin, William O.J. Moser) 58번 문제의 풀이를 참고한다.
문제 해결을 위해서는 특정 값의 범위를 알려주는 부등식이 필요하다.
적당히 1/(2√k)의 값의 예측한다고 하자. k가 크면 √k와 √(k+1)은 거의 값이 비슷하다 그래서,
1/(2√k) ≈ 1/(√k+√(k+1))
여기서 오른쪽 값을 유리화시키면
따라서 1/(2√k)는 거의 √(k+1)-√k라는 것을 알 수 있다.
여기서 힌트를 얻어 근사가 아니라 정확한 부등식을 얻어보자.
->
이제 부등식의 밖과 안을 뒤집으면
이리하여 1/(2√k) 의 범위가 대충 얼마일 지 그 범위를 구할 수 있다.
이제 k=1부터 2007까지 부등식을 만들고 식끼리 더하면 1/(2√k)들의 합의 범위를 알 수 있는데, 망원합(Telescoping sum)에 의해 좌변과 우변이 깔끔하게 정리된다. 정확하게는,
가 된다.
각 항에 2/3을 곱하면 최종적으로 다음 부등식을 얻는다.
√2007이나 √2008은 약간의 시간만 투자하면 금방 구할 수 있으므로 제곱근의 역수를 일일히 더한다는 계획보다 몇 배는 더 유리한 상황이다.
실제로 단순계산을 하면 우리가 원하는 값은 29.8738...와 29.866... 사이에 있다는 것을 알 수 있다. 굳이 소수점 아래까지 계산할 필요없이 29라는 값을 쉽게 얻을 수 있다.