정말이지 이해 못할 일들이 벌어졌다. 세상에 이런일이 한 두개가 아니지만...

수학 문제를 두고 그런 일이 발생하는 건 좀체 받아들이기가 힘들다. 내가 수학을 좋아한 이유는 답이 분명하기 때문이였다. 국어는 읽는 사람 맘이고 역사는 언제 바뀔지 모르고 음악과 체육은 공부라기 보단 예술이라고 생각했었다. 예술이기에 당연히 정답은 없다. 그런데.. 수학 마저 답이 없는것이 된다면.. 참 받아들이기 힘들 것 같다.
bl157.bmp이 문제를 푼 대부분의 학생들이 답을 772개라고 한다. 소스코드의 핵심 부분을 보면 다음과 같다.

for (int side1 = 1; side1 <= 500; side1++) {

       for (int side2 = 1; side2 <= 500; side2++) {

             for (int hepotenuse = 1; hepotenuse <= 500; hepotenuse++) {

                    if ((hepotenuse * hepotenuse) == (side1 * side1) + (side2 * side2)) {

                           length++;

                    }

             }

       }

}

System.out.println(length);

나는 이것이 틀렸고 772개의 반이 답이고 왜 그런지 생각해 보라는 의미로 짧게 말을 해줬다. 그 의미는 발견 한 것 같았다. 하지만 받아들이질 않는다. 난 이 부분이 이해가 되지 않는다. 난 수학을 주관적이라고 생각하지 않는다. 저 문제의 답은 분명히 386개다. {3, 4, 5} 라는 집합과 {4, 3, 5} 라는 집합을 어떻게 다르다고 하는 것일까? 난 이해할 수 없다.

문제의 첫번째 줄 끝에 The set of three integer values 라는 단어가 나온다. {3, 4, 5}와 같이 피타고라스 수를 만드는 수들의 집합이 몇개인지 각변의 길이가 500을 넘지 않는 한도 내에서 찾아 보라는 것이다.

{3, 4, 5} equals {4, 3, 5}

저 공식이 틀렸다는 걸 받아 들여야 하느냐 말아야 하는 기로에 서있었다. 하지만 해결은 간단했다. 나는 그냥 저게 사실 이라고 믿어왔고 앞으로도 계속 사실 이라고 생각하면 된다.

그 학생들에게 내가 믿고 있는 사실을 이해 시키기는 현재 상태론 불가능 하고 그래봤자 감정적으로 받아들이고 날 싫어하게 될 뿐이다.[footnote]이미 날  싫어해서 내가 하는 말을 받아들이지 않는 것일수도 있겠지만[/footnote]

Anyway 난 이런 현상이 수학이 아닌 것에서만 발생하는 문제인줄 알았다. 하지만 수학에서도 이런 문제가 발생하다니...세상에 진리는 없는 건가.

내가 사실이라고 믿는 수학 공식을 반영해서 문제를 풀려면 위의 코드에서 딱 한 단어(one word)만 바꾸면 된다. 답은 혹시 이글을 보고 다시 열린 사고를 할지도 모를 그 학생들에게 퀴즈로 남겨두고 싶다.