05. 다섯 번째 수업: 유리수의 곱셈과 나눗셈 (Multiplication & Division)

유리수의 덧셈과 뺄셈에서는 조각 크기를 똑같이 맞추는 눈물겨운 ‘통분’ 과정이 필요했습니다. 하지만 곱셈과 나눗셈의 세계에서는 통분이라는 고통스러운 작업이 전혀 필요하지 않습니다!


1. 곱셈: 위는 위끼리, 아래는 아래끼리

분수의 곱셈은 가장 원초적이고 깔끔한 규칙을 가집니다.

  • 분모끼리 곱해서 새로운 분모를 만든다.
  • 분자끼리 곱해서 새로운 분자를 만든다.
\[\frac{a}{b} \times \frac{c}{d} = \frac{a \times c}{b \times d}\]

왜 이럴까요? $\frac{1}{2}$ 에 $\frac{1}{3}$ 을 곱한다는 것은, “절반($1/2$) 짜리 피자를 다시 $3$등분($1/3$) 해서 한 조각을 가져오라”는 의미입니다. 전체 피자를 기준으로 보면, $2$번 잘린 것을 $3$번 더 잘게 잘랐으니 총 $6$조각($2 \times 3$)이 되고, 그중 $1$조각($1 \times 1$)을 의미하므로 $\frac{1}{6}$ 이 되는 것입니다.

분수의 곱셈과 나눗셈(역수)을 교차하는 화살표와 덩어리 면적으로 보여주는 교육용 SVG 인포그래픽

2. 역수 (Reciprocal): 분자 분모 뒤집기

나눗셈을 이해하기 전에 역수(Reciprocal)의 개념을 알아야 합니다. 역수란, 두 유리수를 곱했을 때 결과가 완벽한 $1$이 되게 만드는 마법의 파트너입니다. 분수 상태에서는 단순히 “위(분자)와 아래(분모)의 위치를 홀라당 뒤집은 수”가 바로 역수입니다.

  • $\frac{3}{4}$ 의 역수 $\rightarrow \frac{4}{3}$ (이유: $\frac{3}{4} \times \frac{4}{3} = \frac{12}{12} = 1$)
  • $5$ 의 역수 $\rightarrow \frac{1}{5}$ (이유: $5 = \frac{5}{1}$ 이므로 뒤집으면 $\frac{1}{5}$)

3. 나눗셈: 나누기는 역수를 ‘곱하기’로 바꾼다!

분수의 나눗셈은 사실 곱셈의 복사판입니다. 나누기($\div$) 기호를 곱하기($\times$)로 바꾸고, 바로 뒤에 있는 분수를 ‘역수(위아래 뒤집기)’로 바꿔버리면 됩니다.

\[\frac{a}{b} \div \frac{c}{d} = \frac{a}{b} \times \frac{d}{c} = \frac{a \times d}{b \times c}\]

예를 들어 볼까요? 피자 $3$판을 $1/2$판(반 판)씩 나누어 포장하려고 합니다. 총 몇 상자가 나올까요? \(3 \div \frac{1}{2} = 3 \times \frac{2}{1} = 6 \text{상자!}\) 이처럼 나눗셈은 거꾸로 곱하는 메커니즘을 통해 직관적이고 빠르게 해결할 수 있습니다.

4. 부호의 결정 규칙 (적의 적은 나의 친구)

음수가 섞였을 때는 덧셈/뺄셈과는 다른 절대 규칙이 적용됩니다.

  • $(+) \times (+) = (+)$ : 긍정과 긍정이 만나면 긍정
  • $(+) \times (-) = (-)$ : 플러스와 마이너스가 만나면 빚이 늘어나므로 마이너스
  • $(-) \times (-) = (+)$ : “나의 빚(-)을 훔쳐간 도둑(-)은 나의 은인(+)이다!” 마이너스 두 개가 곱해지면 거짓말처럼 양수($+$)가 됩니다. 나눗셈도 완전히 똑같습니다.

5. 파이썬과 Fraction의 마법 연산

컴퓨터 내부에서도 수학과 똑같은 방식으로 나눗셈을 역수의 곱셈으로 처리합니다. 아래 파이썬 코드를 통해 결과를 확인해 보세요!

# [Python] 유리수의 곱셈과 나눗셈 증명하기
from fractions import Fraction

# 두 개의 유리수 생성
frac_A = Fraction(-3, 4)  # -3/4
frac_B = Fraction(1, 2)   # 1/2

print(f"A = {frac_A}")
print(f"B = {frac_B}")
print("-" * 30)

# 1. 곱셈
print(f"[곱셈] A * B = {frac_A * frac_B}")

# 2. 나눗셈
print(f"[나눗셈] A / B = {frac_A / frac_B}")

# 3. 나눗셈 공식 증명 (역수 곱하기)
reciprocal_B = Fraction(frac_B.denominator, frac_B.numerator) # 뒤집기 (2/1)
proof_div = frac_A * reciprocal_B
print(f"[검증] A * (B의 역수 {reciprocal_B}) = {proof_div}")

if (frac_A / frac_B) == proof_div:
    print("-> 마법 증명 성공! 나누기는 역수 곱하기와 결과가 100% 동일합니다.")

[실행 결과]

A = -3/4
B = 1/2
------------------------------
[곱셈] A * B = -3/8
[나눗셈] A / B = -3/2
[검증] A * (B의 역수 2) = -3/2
-> 마법 증명 성공! 나누기는 역수 곱하기와 결과가 100% 동일합니다.
서브목차