[Social Talk] 사칙연산(四則演算, Elementary Arithmetics)
사칙연산, 산수에서 가장 기본적인 4가지 연산인 더하기, 빼기, 곱하기, 나누기를 칭하는 말입니다.
과거에는 가감승제(加減乘除)라고 하여, 한자로 사칙연산을 포함했습니다.
수학을 잘 아시는 분들은 뺼셈과 나눗셈의 자리에 지수와 괄호를 넣는 사람들도 있다고 합니다.
뺄셈이 음수의 덧셈이고 나눗셈은 음수지수가 포함된 곱셈이기 때문에 같은 것으로 취급한다는데, 정확히 무슨 말인지는 잘 모르겠네요.
그럼, 사칙 연산에서 우선 순위는 어ᄄᅠᇂ게 될까요?
덧셈, 뺼셈, 곱셈, 나눗셈이 있을 때 무엇을 먼저 해야 될까요?
순서는 다음과 같습니다.
- 괄호 안부터 계산하되, 안의 괄호가 반복된다면 가장 안쪽 괄호부터 계산합니다.
- 곱셈과 나눗셈을 계산합니다..
- 덧셈과 뺄셈을 계산합니다.
- 곱셈과 나눗셈 / 덧셈과 뺄셈 연산이 있을 경우, 왼쪽에서 오른쪽으로 계산을 하면 됩니다.
- 이 순서는 괄호 안에서도 동일하게 적용됩니다.
이런 순서는 어떻게 정해졌을까요?
사실, 그건 원래 그렇기 때문입니다.
누구나 할 수 있는 말이긴 하지만, 우리가 사용하는 표기법인 중위 표기법(Infix notation)에 따르면 그렇게 되는 것입니다.
전위 표기법(Prefix notation)과 후위 표기법(Postfix notation)는 연산의 순서를 바꿔서 표기가 가능하지만, 수식의 구분이 어려워지고, 중위표기법은 반대로 우선순위를 표현하는 것은 불가능하지만, 보기에도 편리한 중위 표기법이 쓰여진 것이라 보입니다.
괄호도 이 중위 표기법 상에서 우선 순위를 표시해주기 위해서 생긴 것입니다. 이런 기호가 많아질수록 연산식은 난잡해질 것이기 때문이죠.
그럼, 덧셈과 뺼셈 / 곱셈과 나눗셈의 우선순위는 어떻게 정해졌을까요?
사실 이건 역사적으로 그렇게 정의하여 사용되어진 게 계속 이어져 내려온 것입니다.
곱셈과 나눗셈을 먼저 계산하는 것이 더 편하고, 식이 간단해져서 그렇다는 주장도 있습니다.
이렇게 보기에도 간단한 사칙연산은 사실 모양이 조금만 틀어져도 엄청난 일이 벌어집니다.
2005년 한국에서 벌어진
111 + 1 × 2 = 224
와 같은 경우가 있고
2011년 미국에서 시작되어 전세계 온라인 커뮤니티를 뒤흔들었던
48 ÷ 2 (9 + 3) = ?
과 같은 경우도 있었습니다.
111 + 1 × 2 = 224
의 경우 사칙연산의 규칙대로 정답은 당연히 113입니다.
이를 통해 기초적 수학 연산을 못 하는 사람들이 무수히 양산되기도 했습니다.
48 ÷ 2 (9 + 3) = ?
의 경우에는 정말 말이 많았던 문제였습니다.
이 문제를 풀기 위해 미국 수학협회의 규칙부터 시작해서 매스메티카, 파이ᄊᅠᆫ 같은 프로그래밍 언어를 동원하는 난리가 벌어졌습니다.
지금까지 우리가 배워온 사칙연산 대로라면 정답은 당연히 2가 될 것입니다만.
해당 문제의 규칙에 나온 multiplication by juxtaposition(MoJ) 때문입니다.
이 규칙은 a × b의 경우 ab로 표기한다는 규칙이며, 계산을 간략화하는 관습인데 이를 곱셉 연산의 표기인가 다른 별도의 연산으로 보느냐에 ᄄᆞ라서 답이 달라집니다.
그래서 이 문제는 3가지의 답이 생겨버렸습니다.
- MoJ를 ×의 새로운 표기로 볼 때 : 288
- MoJ를 곱셈, 나눗셈보다 우선순위가 높은 여산일 때 : 2
- 원리원칙대로 숫자와 숫자 사이의 곱셈기호의 생략이 불가능하기 때문에 문제가 성립하지 않는다.
사칙연산. 참 간단한 문제 같으면서도 이렇게 어려울 수도 있다는 걸 실감하게 하네요.