도구스학업·수학

다항식 최대공약수 계산기

정수의 유클리드 호제법을 다항식 나눗셈에 그대로 적용해 두 다항식의 최대공약수를 구합니다. 나머지가 0이 될 때까지 반복하는 나눗셈 과정을 단계별로 보여줍니다.

A = x^3 - 1 · B = x^2 - 1

최대공약수

x - 1

A, B 모두 x - 1로 나머지 없이 나누어집니다.

나눗셈 과정 (나머지가 0이 될 때까지)

1단계

나뉘는 식x^3 - 1
나누는 식x^2 - 1
x
나머지x - 1

2단계

나뉘는 식x^2 - 1
나누는 식x - 1
x + 1
나머지0
검산. x - 1로 A, B를 각각 나누면 실제로 나머지가 0입니다.
왜 나머지로 계속 나눠도 답이 안 바뀌는가. a = q·b + r로 나누면 r = a − q·b이므로, a와 b를 동시에 나누는 식은 반드시 r 도 나눕니다. 거꾸로 b와 r을 동시에 나누는 식도 a를 나눕니다. 그래서 gcd(a, b) 와 gcd(b, r) 은 항상 같고, 나머지가 0이 될 때까지 반복해도 최대공약수는 그대로입니다.
최고차항 계수를 1로 맞추는 이유. x−1이나 2x−2 나 같은 근을 가지므로 다항식 GCD로는 같은 것입니다. 정규화하지 않으면 계산 경로에 따라 서로 다른 상수배가 나와 정답이 여러 개처럼 보입니다.

계산 방법

  1. 1두 다항식의 계수를 최고차항부터 쉼표로 구분해 입력합니다(예: x²-1 → 1,0,-1).
  2. 2나머지가 0이 될 때까지 나눗셈을 반복하는 과정을 단계별로 봅니다.
  3. 3마지막으로 0이 아니었던 나머지(최고차항 계수를 1로 맞춘 것)가 최대공약수입니다.
  4. 4결과가 상수(차수 0)이면 두 다항식은 공통 인수가 없는 서로소입니다.

자주 묻는 질문

정수의 유클리드 호제법과 똑같은 절차를 씁니다. 두 다항식 중 차수가 큰 쪽을 작은 쪽으로 나누고, 나머지로 다시 나누기를 반복합니다. 나머지가 0이 되는 순간 직전의 나누는 식이 최대공약수입니다.

a = q·b + r로 나누면 r = a − q·b이므로, a와 b를 동시에 나누는 식은 반드시 r 도 나눕니다. 거꾸로 b와 r을 동시에 나누는 식도 a를 나눕니다. 그래서 gcd(a, b) 와 gcd(b, r) 은 항상 같습니다.

두 다항식이 공통 인수를 하나도 갖지 않는다는 뜻입니다(서로소). 정수에서 gcd(7, 10) = 1이면 두 수가 서로소인 것과 같은 뜻입니다.

아니요, 둘 다 최고차항 계수를 1로 맞추면(monic) x−1로 같습니다. 다항식은 상수를 곱해도 같은 근을 가지므로 같은 최대공약수로 취급하고, 이 계산기는 늘 최고차항 계수가 1인 형태로 결과를 통일해 보여줍니다.

됩니다. 다만 실수 계산은 반올림 오차가 조금씩 쌓일 수 있어, 이 계산기는 최고 계수 대비 아주 작은 값을 0으로 봅니다. 정수 계수를 쓰면 오차 걱정 없이 정확한 결과를 볼 수 있습니다.

알아두면 좋은 점

  • 결과는 늘 최고차항 계수가 1(monic)이 되도록 정규화합니다. 다항식 GCD는 상수배까지는 같은 것으로 보기 때문입니다.
  • 두 다항식이 모두 0이면 최대공약수가 정의되지 않아 계산하지 않습니다.
  • 실수 계수를 쓰면 나눗셈을 반복할수록 반올림 오차가 쌓일 수 있습니다. 차수가 높거나 계수가 지저분하면 결과를 눈으로 한 번 더 확인하세요.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.