지난 주말 수많은 커뮤니티에서는
48/2(9+3)의 답이 288이냐 2이냐에 대한 논쟁이 벌어졌다.

사실 너무 당연한 내용이라고 느껴져서 별 관심이 없었는데
주위 사람들까지 이에 관한 이야기를 하니
나도 참여해야한다는 의무감이 조금 생겼다.

논쟁의 핵심은 48/2(9+3)에서 괄호는 당연히 먼저 계산하고
48/2(12)가 되었을 때에 연산자 우선순위가 무엇이냐는 것이다.

곱셈과 나눗셈은 왼쪽부터 순서대로 계산하기 때문에
답이 288일 수 있다는 것인데
이건 수식의 표기라는 근원적인 목적을 왜곡한 내용이라고 본다.

결론부터 말하면 48/2(12)과 48/2*(12)은 다른 수식이다.
후자의 수식은 엄격한 잣대에서는 문제의 식과 등식이 될 수 없고
느슨한 기준에서도 등식이 되어야 할 이유가 없다.

당연히 나눗셈과 곱셈이 함께 있다면 순서대로 계산하면 된다.
그러나 288을 유도하는 오류는 그보다 앞서 다른 부분에 있다.
애당초 저 식에는 (사칙연산에서의) 곱셈이 없다!!

정의역, 치역, 닫힌 연산자 이런 것은 각설하고
괄호는 그 묶인 내용을 하나의 인수로 만드는 특수한 연산자이다.
그리고 괄호는 상수가 아니므로 사칙연산의 정의역에 들어가지 않는다.
저기에서 (9+3)=(12)이므로 쉽게 12라는 상수로 보면 된다고 생각하는 것이 오류이다.
(12)는 치환 또는 대입이라는 연산 과정을 거쳐야만 12라는 상수가 된다.

문제의 식에서 나눗셈 뒤의 항은 괄호가 하나의 인수인 1항 1차 다항식이다.
즉 괄호 인수의 앞은 괄호항이 취할 계수를 나타내는 부분이다.
앞서 말했듯이 (12)는 아직까지 상수 12가 아니기 때문이다.
따라서 괄호 인수인 (12)는 앞의 계수 2와의 관계를 풀기전에는 상수항으로 치환할 수 없다.
그렇기 때문에 2와 (9+3) 사이의 연산을 가볍게 곱셈의 생략이라고 말하기는 하지만
엄밀히는 (사칙연산에서의) 곱셈이 아니다.

그리고 다항식의 계수는 "2분의 48"이면 몰라도
"(괄호로 묶지 않은 채) 48 나누기 2"와 같이 표기하지 않는다.
따라서 괄호항의 계수는 분명히 48/2=24가 아니라 2이다.
48을 계수식의 일부로 보아 나눗셈을 먼저 계산할 수 없다.

괄호식이 상수가 아니라는 것은 매우 간단히 설명할 수 있다.
2와의 결합에 곱셈 연산자를 생략한 순간부터
이미 괄호식이 상수 연산의 정의역에 들어가지 않는다는 것을 인정한 셈이다.

임의의 변수 a와 b 가 있을 때 ab라고 표기하면 당연히 곱셈이라고 생각하지만
여기에는 조금 더 큰 연산자 규칙과 가정이 있다.
잘라말해 ab와 같은 표현은 두 개의 상수간에는 사용할 수 없다.
2*12를 212라고 표기 할 수 없다는 뜻이다. 
2*12=212. 눈으로 보기에도 말이 되지 않는다.

즉 48/2(9+3)와 48/2*(9+3)는 다른 수식이다.
2*(9+3)은 9+3의 값인 12와 2와의 명시된 곱셈이고
2(9+3)은 9+3의 상수값이 아닌 그 값을 감싸고 있는 괄호와의 결합 연산자이다.
간단히 말하면 곱셈이 아니라 곱셈과 같은 역할을 하는
곱셈보다 연산 우선순위가 높은 연산자이다.

ab와 a*b가 같은 수식이기 위한 조건은 생각보다 까다롭다.
즉, ab에서 a와 b 사이의 연산자가 곱셈이 아니기 때문에
나눗셈 다음에 연산해야 한다는 순서 규칙 자체가 틀렸다.

이것은 '(4 분의 2)분의 1''4분의 (2분의 1)'을 노트에 적어보면 명확해진다.
'1 나누기 2 나누기 4'
는 무조건 후자와 등식이다.
전자는 괄호 없이 나눗셈만 사용해서는 동일한 형태로 표기할 수 없다.
즉 나눗셈과 분수식은 다른 연산이다. 따라서 연산 우선 순위도 다르다.
직접 수식을 받아적어보면 알겠지만 실제로 우리는 이미 그 우선순위를 알고 있다.

수식의 표기라는 원초적인 목적에 의해
자연스럽게 나눗셈보다 분수식의 우선순위가 먼저이고
마찬가지로 결합표기가 곱셈식보다 우선순위가 먼저이다.
애당초 48/2를 먼저 계산하는 것은 연산자 우선순위에 맞지 않는다.

따라서 문제가 된 수식의 답은 2이다.


Trackbacks  | Comments