AMC 10 · 2013 · #25

학년 11 algebracounting
complex-numberspolynomial-rootsprime-factorizationcombinations-basic systematic-enumerationcaseworkidentify-subproblems ↑ 선수 지식: complex-numberspolynomial-roots
📏 긴 풀이 💡 4 개 인사이트
문제
다항식의 상수항이 정해져 있고 근이 모두 서로 다른 복소정수다. 다항식의 개수를 세어라.

답을 골라 클릭하세요.

(A)
288
(B)
528
(C)
576
(D)
992
(E)
1056
풀이 과정
전략 빠짐없이 나열하기

차수에 제한이 없으므로 다항식을 직접 세는 것은 불가능하다. 돌파구는 각 다항식을 그 근의 집합으로 바꿔 적은 뒤, 그 집합을 보통의 양의 정수처럼 행동하는 조각으로 쪼개는 것이다. 조각은 실수 근 하나이거나, 곱이 a² + b²인 켤레쌍 a+bi와 a-bi다. 모든 조각이 자연수 크기를 갖고 그 크기들의 곱이 50이어야 한다는 조건이 생기면, 문제는 유한한 인수분해 문제로 바뀐다. 그다음은 빠짐없이 나열하기가 마무리한다. 50을 인수로 쪼개는 몇 가지 방법을 적고, 각 인수마다 그 값을 만드는 실수 근과 켤레쌍을 모두 적으면 된다.

1STEP 1

다항식은 곧 근의 집합이다

여기서 다항식은 곧 근의 집합이다.

P(z)=Π_s∈ S(z-s), S={P의 근}, |S|=n
2STEP 2

켤레 대칭성, 그리고 그것이 정확한 조건인 이유

정수 계수는 켤레 대칭을 뜻한다.

e_k(S)=e_k(S)=e_k(S) → e_k(S)inZ[i]∩R=Z
3STEP 3

모든 근의 부호를 뒤집어 부호 문제를 없앤다

모든 근의 부호를 뒤집으면 부호 문제가 사라진다.

Π_r∈ Rr=Π_s∈ S(-s)=P(0)=50, R=-S
4STEP 4

R을 블록으로 쪼갠다

근이 켤레 블록으로 묶인다.

(a+bi)(a-bi)=a²+b² > 0
5STEP 5

모든 블록 값은 50의 약수이므로 전부 나열한다

모든 블록의 값이 상수항을 나눠야 한다.

M₁=3, M₂=4, M₅=6, M₁₀=6, M₂₅=7, M₅₀=8
6STEP 6

크기 1인 블록: 둘은 자유, 하나는 강제

한 근짜리 블록 둘은 자유다.

답=2²·#{크기가 1보다 크고 크기의 곱이 50인 블록 선택}
7STEP 7

50을 크기로 쪼개고 각 경우를 센다

상수항을 쪼개면 132가지다.

8+4 · 7+6 · 6+4C(6, 2)=8+28+36+60=132
8STEP 8

자유롭던 단위 블록을 다시 곱한다

다시 곱하면 528, 보기 (D).

4 · 132=528
정답
528
세 가지로 점검한다. 첫째, 근 1과 켤레쌍 {i, -i}는 언제나 독립적으로 넣거나 뺄 수 있으므로 답은 4의 배수여야 하는데, 528 = 4 곱하기 132로 이 조건을 통과한다. 둘째, 답을 손으로 전부 적을 수 있는 더 작은 상수항에 같은 방법을 적용해 본다. 상수항이 2이면 쪼개는 방법은 크기 2 하나뿐이라 2² 곱하기 M₂ = 4 곱하기 4 = 16이고, 이 16개는 실제로 적을 수 있다. 크기 2인 네 블록(근 2와 -2, 켤레쌍 {1+i, 1-i}와 {-1+i, -1-i}) 각각에 1과 {i, -i}를 쓰는 4가지를 곱하고 -1은 강제된다. 상수항이 25이면 같은 방법이 2² 곱하기 (M₂₅ + 6개 중 2개) = 4 곱하기 (7 + 15) = 88을 주고, 직접 전수 조사해도 88이 나온다. 셋째, 오답 (E) 1056은 정확히 2³ 곱하기 132로, 근 -1까지 자유로운 선택으로 착각했을 때 나오는 값이다. 이는 4 곱하기 132가 의도된 계산임을 보여 준다.
💡핵심 정리

실수부와 허수부가 정수인 근은 켤레쌍으로 짝지어지고 그 곱은 평범한 자연수 a² + b²이 되므로, 이 다항식을 세는 문제는 50을 인수로 쪼개는 방법을 세고 각 인수 뒤에 있는 가우스 정수를 세는 문제로 바뀐다.

  • 다항식은 곧 근의 집합이다
  • 켤레 대칭성, 그리고 그것이 정확한 조건인 이유
  • 모든 근의 부호를 뒤집어 부호 문제를 없앤다
  • R을 블록으로 쪼갠다
  • 모든 블록 값은 50의 약수이므로 전부 나열한다
  • 크기 1인 블록: 둘은 자유, 하나는 강제
  • 50을 크기로 쪼개고 각 경우를 센다
  • 자유롭던 단위 블록을 다시 곱한다