분수 사칙연산 쉽게 이해하기 — 개념과 원리
두 분수 a/b와 c/d를 더하거나 빼거나 곱하거나 나누고, 그 결과를 기약분수와 소수로 함께 보여 주는 계산기입니다. 숙제 검산, 요리나 목공 치수 계산처럼 반올림한 소수보다 정확한 분수 값이 필요한 경우에 쓰입니다.
계산 방법
- 덧셈: a/b + c/d = (a·d + b·c) / (b·d)
- 뺄셈: a/b − c/d = (a·d − b·c) / (b·d)
- 곱셈: a/b × c/d = (a·c) / (b·d)
- 나눗셈: a/b ÷ c/d = (a·d) / (b·c), 곧 나누는 분수의 역수를 곱합니다.
결과 N/D는 N과 D의 최대공약수로 나누어 기약분수로 만들고, 분모가 음수이면 부호를 분자로 옮깁니다. 소수 값은 N ÷ D입니다.
원리
분수의 덧셈과 뺄셈은 조각의 크기가 같을 때만 바로 할 수 있으므로, 먼저 분모를 같게 만드는 통분을 합니다. a/b에 d/d를, c/d에 b/b를 곱하면 두 분수의 크기는 그대로이고 분모는 b·d로 같아집니다. 곱셈은 a/b를 d조각으로 나누어 그중 c조각을 취하는 것이므로 분자끼리, 분모끼리 곱하면 됩니다. 나눗셈은 a/b 안에 c/d가 몇 번 들어가는지를 묻는 것이며, 이는 역수 d/c를 곱한 것과 같습니다. b·d는 항상 공통분모이지만 가장 작은 공통분모는 아닐 수 있으므로 마지막에 약분합니다.
예제 풀이
- 입력값: 1/3 + 1/4(a = 1, b = 3, c = 1, d = 4)입니다.
- 분자는 a·d + b·c = 1·4 + 3·1 = 7입니다.
- 분모는 b·d = 3·4 = 12입니다.
- 7과 12의 최대공약수가 1이므로 이미 기약분수이며 결과는 7/12입니다.
- 소수로는 7 ÷ 12 = 0.58333…이며 0.5833333333으로 표시됩니다.
결과 해석
분수 결과는 정확한 값이고, 소수는 화면 표시를 위해 반올림한 값입니다. 분자가 분모보다 크면 가분수이므로 필요하면 대분수로 바꾸어 읽습니다. 결과가 음수이면 뺄셈에서 뒤의 수가 더 컸거나, 입력한 두 분수 중 하나만 음수였다는 뜻입니다.
흔한 실수
- 분자는 분자끼리, 분모는 분모끼리 더하는 경우입니다. 1/3 + 1/4은 2/7이 아닙니다.
- 나눗셈에서 뒤의 분수를 뒤집지 않거나, 앞의 분수를 뒤집습니다.
- 덧셈 기호를 사이에 두고 약분합니다.
- 분모에 0을 넣거나, 분자가 0인 분수로 나누는 경우입니다. 둘 다 정의되지 않습니다.
자주 묻는 질문
왜 최소공배수로 통분하지 않나요?
손으로 계산할 때는 최소공배수로 통분하면 수가 작아져 편리합니다. 하지만 b·d로 통분한 뒤 마지막에 약분해도 같은 답이 나옵니다.
2 1/3 + 1 1/4 같은 대분수는 어떻게 계산하나요?
먼저 가분수로 바꾸어 7/3 + 5/4 = 43/12를 구하고, 필요하면 다시 대분수 3 7/12로 바꿉니다.
분수가 세 개 이상이면 어떻게 하나요?
곱셈과 나눗셈을 먼저, 덧셈과 뺄셈을 나중에 하는 계산 순서에 따라 두 개씩 차례로 계산합니다.
출처: D. E. Knuth, The Art of Computer Programming, Vol. 2: Seminumerical Algorithms, 4.5.1절(분수)