01. 해체 쇼의 시작: X자 인수분해
1. 학습 목표 (Learning Objectives)
- 이차방정식($ax^2 + bx + c = 0$)을 폭파하는 가장 기초적이고 직관적인 기술인 ‘인수분해(Factorization)’의 로직을 이해합니다.
- 파이썬(Python) 반복문을 활용하여 기계적인 브루트포스(무차별 대입) 방식으로 곱과 합의 짝을 찾아내는 해킹 코드를 작성해 봅니다.
2. 곱해서 0이 되는 마법 ($A \times B = 0$)
아무리 거대한 빌딩(다항식)도 아주 작은 블록(인수) 여러 개의 곱셈으로 분해할 수 있습니다. 이것이 12 라는 숫자를 $3 \times 4$ 로 쪼개는 것과 같은 이치인 ‘인수분해’ 입니다.
왜 굳이 힘겹게 이차식을 괄호 2개의 묶음으로 쪼갤까요? 바로 수학의 가장 위대한 허점인 “A와 B를 곱해서 0이 된다면, 무조건 A가 0이거나 혹은 B가 0일 수밖에 없다” 라는 진리 때문입니다!
방정식: $x^2 - 5x + 6 = 0$ 인수분해: $(x - 2)(x - 3) = 0$ 해석: 오호라! 두 괄호를 곱해서 0이 나왔으니, 앞 괄호가 $0$ 이거나 뒤 괄호가 $0$ 이겠군! 정답 도출: $x - 2 = 0$ 이거나 $x - 3 = 0$ 이므로, $\mathbf{x = 2}$ 또는 $\mathbf{x = 3}$ (짜잔! 무사히 해 2개를 구했습니다)
3. X자 퍼즐: 더해서 $b$, 곱해서 $c$
위처럼 예쁘게 괄호를 쪼개려면, 십자가(X) 크로스 퍼즐을 풀어야 합니다. $x^2 \mathbf{- 5}x \mathbf{+ 6} = 0$ 에서,
- 두 수를 곱해서 뒤의 상수항 $(+6)$ 이 나와야 합니다.
- 두 수를 더해서 중간의 계수 $(-5)$ 가 나와야 합니다.
곱해서 6이 되는 정수 세트는 $(1, 6)$과 $(2, 3)$ 등이 있습니다. 이 중 두 숫자를 더해서 $-5$ 가 나오는 조합은? 바로 $(-2)$ 와 $(-3)$ 의 쌍입니다! ($-2 \times -3 = +6$ 이고, $-2 + -3 = -5$ 니까요). 따라서 $(x-2)(x-3)$ 으로 완벽히 쪼개집니다.
4. 파이썬 브루트포스 인수분해기 (Python)
머리로 암산하기 귀찮을 땐, 컴퓨터한테 -100부터 100까지 모든 숫자의 조합을 무식하게 때려 넣어(브루트포스) 1초 만에 답을 찾아내라고 시키면 그만입니다.
def find_factors(b, c):
print(f"[{b}x] 와 상수 [{c}] 를 만드는 마법의 조합 스캔 중...")
# -100 부터 100까지 모든 정수 무차별 대입 스캔 (Brute-force)
for num1 in range(-100, 101):
for num2 in range(-100, 101):
if (num1 + num2 == b) and (num1 * num2 == c):
# 중복 출력을 막고 즉시 종료
print(f"🔍 해킹 성공! 짝꿍은: [{num1}] 과 [{num2}] 입니다!")
print(f"👉 인수분해 폼: (x {'+' if num1>=0 else ''}{num1})(x {'+' if num2>=0 else ''}{num2}) = 0")
print(f"🎯 최종 두 개의 해: x = {-num1} 또는 x = {-num2}\n")
return
print("❌ 삐빅- 정수 범위에서는 인수분해가 불가능한 지독한 식입니다.\n")
# 1. 아까 풀었던 x^2 - 5x + 6 = 0 테스트
find_factors(-5, 6)
# 2. 아주 헷갈리는 x^2 + 2x - 24 = 0 테스트
find_factors(2, -24)
# 3. 인수분해가 실패하는 기괴한 식 테스트 (x^2 + 3x + 10 = 0)
find_factors(3, 10)
파이썬의 실행 결과 요약:
[-5x] 와 상수 [6] 를 만드는 마법의 조합 스캔 중...
🔍 해킹 성공! 짝꿍은: [-3] 과 [-2] 입니다!
👉 인수분해 폼: (x -3)(x -2) = 0
🎯 최종 두 개의 해: x = 3 또는 x = 2
[2x] 와 상수 [-24] 를 만드는 마법의 조합 스캔 중...
🔍 해킹 성공! 짝꿍은: [-4] 과 [6] 입니다!
👉 인수분해 폼: (x -4)(x +6) = 0
🎯 최종 두 개의 해: x = 4 또는 x = -6
[3x] 와 상수 [10] 를 만드는 마법의 조합 스캔 중...
❌ 삐빅- 정수 범위에서는 인수분해가 불가능한 지독한 식입니다.
자, 파이썬이 알려준 마지막 결과처럼, 만약 정수로 도무지 안 떨어지는 끔찍한 식($x^2 + 3x + 10 = 0$)을 만나면 우린 어떻게 해야 할까요? 포기할 순 없습니다. 바로 다음 챕터의 ‘억지로 완전제곱식 만들기’ 스킬이 필요할 때입니다!
5. 학습 정리 (Summary)
- 인수분해 해법: $A \times B = 0$ 이면 $A=0$ 또는 $B=0$ 이라는 절대 규칙을 활용하여, 이차식을 두 개의 1차식 괄호 곱으로 쪼개서 해를 구합니다.
- X자 퍼즐 로직: 덧셈해서 1차항 계수($b$), 곱셈해서 상수항($c$)이 나오는 매직 넘버 두 개를 찾아 괄호에 집어넣는 직관적인 알고리즘입니다.