곱셈과 나눗셈

by SL

사칙연산 중 곱하기와 나누기의 차이에 대해 생각해봤다. 사람이 종이 위에 연필로 푼다고 했을 때, 둘 중 어느 것이 더 쉬울까? 나는 곱하기라고 생각한다. 왜냐하면 그냥 정해진 방법에 따라 순차적으로 풀어나가면 되기 때문이다. 예를 들어, 87529에 134를 곱한다면 그냥 4 곱하기 9는 16이니까 6 쓰고, 1 올리고 4 곱하기 2는 8에다가 1 더해서 9, 이런 식으로 해나가면 된다.

하지만 87529 나누기 134를 할 때는 살짝 다르다. 첫 자리 숫자를 알기 위해서는 일단 어림을 해야 한다. 134에 뭘 곱해야 875를 넘지 않는지. 7을 곱하면 875보다 커져서 안 되고 5를 곱하면 너무 작아서 안 되고 따라서 6이어야 한다는 것을 알게 된다. 즉, 곱하기처럼 바로바로 다음 값을 결정하는 것이 아니라 적당해보이는 값을 던져보고 맞는지 확인(틀리면 교정)한 뒤에야 다음 단계로 넘어갈 수 있다.

어떤 문제가 주어졌을 때 특정 순서대로 따라가기만 하면 올바른 답에 도달할 수 있는 매뉴얼이 있다면 좋겠지만 우리를 괴롭히는 대부분의 문제는 곱셈보다는 나눗셈에 가깝다. (애초에 곱하기 스타일의 문제는 까다롭다고 느끼지도 않을 것이다.) 수많은 잠재 해결책 중에서 어느 것이 진짜 해답으로 인도하는지 모른다. 그럴 듯한 걸로 먼저 쿡 찌른 뒤 이래저래 간을 보면서 답을 찾아야 한다. 한참을 진행한 후에야 이 방법으로는 안 된다는 걸 깨닫고 다시 처음부터 시작해야 할 때도 많다.

다행히도 매번 맨땅에 박치기부터 시작할 필요는 없다. 875가 주어졌을 때, 134에 1을 곱해보고 다시 2를 곱해보고 3을 곱하는 과정을 반복하지 않아도 몇 번 경험이 쌓이면 대번에 6 아니면 7이겠구나 하는 감이 생긴다. 전산학에서 예를 찾자면, 문제만 척 봐도 ‘아 이건 다이나믹 프로그래밍으로 푸는 거겠구나’ 하는 유형이 있다. 물론 처음의 감이 항상 맞는 건 아니지만.

막막한 문제를 만났을 때 효과적으로 대처할 수 있는 나만의 매뉴얼을 만들고 싶다. 가장 먼저 필요한 것은 든든한 도구상자(ToolBox). 아는 게 있어야 문제를 찔러볼 수라도 있으니까. 그리고 그 상자 속에서 올바른 도구를 알아보는 통찰과 안목, 선택한 도구를 써서 효과적으로 찔러보는 기술. 틀린 길을 가고 있을 때 재빨리 깨닫고 다른 적절한 도구로 갈아타는 민첩성. 그리고, 현재 갖고 있는 도구에만 얽매이지 않는 유연성.

많은 공부가 필요하다. 이런 글 쓰고 앉았을 시간에