목차▾
개요 — 소수·합성수와 소인수분해
소인수분해(素因數分解, prime factorization)는 1보다 큰 자연수를 소수들의 곱으로 나타내는 것입니다. 360 = 2³ × 3² × 5처럼 쓰며, 이때 곱을 이루는 소수 2, 3, 5를 360의 소인수라고 합니다. 우리나라에서는 중학교 1학년 수학에서 소수와 합성수, 거듭제곱과 함께 배우고, 최대공약수·최소공배수를 구하는 기본 도구로 씁니다.
| 용어 | 뜻 | 예 |
|---|---|---|
| 약수 | 어떤 수를 나누어떨어지게 하는 수 | 12의 약수: 1, 2, 3, 4, 6, 12 |
| 소수 | 1보다 크고 약수가 1과 자기 자신뿐인 수 | 2, 3, 5, 7, 11, 13 |
| 합성수 | 1보다 크고 소수가 아닌 수(약수가 3개 이상) | 4, 6, 8, 9, 10, 12 |
| 인수·소인수 | 곱을 이루는 각각의 수가 인수, 그중 소수인 것이 소인수 | 12의 소인수: 2, 3 |
| 거듭제곱 | 같은 수를 여러 번 곱한 것. 곱한 수가 밑, 곱한 횟수가 지수 | 2 × 2 × 2 = 2³ (밑 2, 지수 3) |
1은 약수가 1 하나뿐이라 소수도 합성수도 아닙니다. 2는 짝수 가운데 유일한 소수입니다. 1보다 큰 자연수는 모두 소수의 곱으로 나타낼 수 있고, 곱하는 순서를 무시하면 그 방법은 한 가지뿐입니다. 이 성질을 산술의 기본정리(소인수분해의 유일성)라고 하며, 어떤 방법으로 나누든 같은 답이 나오는 이유입니다. 1을 소수에서 빼는 것도 이 유일성을 지키기 위해서입니다.
소인수분해 계산기 사용법
- 소인수분해 — 자연수 하나를 넣으면 거듭제곱 표기와 곱 표기, 소수·합성수 여부, 약수의 개수와 합, 약수 목록, 제곱수를 만드는 가장 작은 수, 거꾸로 나눗셈 풀이를 보여 줍니다. 서로 다른 소인수가 2개인 수는 약수 표도 그립니다.
- 최대공약수·최소공배수 — 자연수 2~10개를 넣으면 최대공약수·최소공배수와 공약수·공배수, 서로소 여부를 보여 주고 소인수분해 표, 공약수로 나누는 사다리, 유클리드 호제법(두 수일 때)으로 풉니다.
18자리(999,999,999,999,999,999)까지 넣을 수 있고, 천 단위 쉼표와 띄어쓰기는 빼고 읽습니다. 0·1·음수·소수점이 있는 수는 소인수분해하지 않으며, 최대공약수·최소공배수 칸에는 1까지 넣을 수 있습니다. 결과 복사 버튼은 답을 “360 = 2³ × 3² × 5”처럼 위첨자 그대로 복사합니다. 계산은 브라우저 안에서만 이뤄지며 입력값은 서버로 전송·저장되지 않습니다.
소인수분해 하는 법
교과서에서는 두 가지 방법을 씁니다. 거꾸로 나눗셈은 나눗셈 기호를 뒤집은 모양으로 수를 적고, 왼쪽에 나누는 소수를, 아래에 몫을 쓰며 몫이 소수가 될 때까지 되풀이합니다. 작은 소수 2, 3, 5, 7, …부터 차례로 나눠 보면 빠뜨리지 않습니다.
360 = 2 × 2 × 2 × 3 × 3 × 5
= 2³ × 3² × 5
나뭇가지 방법은 수를 두 수의 곱으로 쪼개고, 소수가 아닌 가지를 다시 쪼개기를 소수만 남을 때까지 되풀이합니다. 360 = 18 × 20, 18 = 2 × 9 = 2 × 3 × 3, 20 = 4 × 5 = 2 × 2 × 5로 쪼개도 끝에 남는 소수를 모으면 2³ × 3² × 5로 같습니다. 어느 방법이든 마지막에 같은 소인수를 거듭제곱으로 묶고, 작은 소인수부터 씁니다.
어떤 소수로 나누어떨어지는지는 다음 배수 판정법으로 빨리 알 수 있습니다.
| 배수 | 판정법 | 예 |
|---|---|---|
| 2의 배수 | 일의 자리가 짝수(0, 2, 4, 6, 8) | 360 |
| 3의 배수 | 각 자리 숫자의 합이 3의 배수 | 2025 (2 + 0 + 2 + 5 = 9) |
| 5의 배수 | 일의 자리가 0 또는 5 | 45, 2025 |
| 9의 배수 | 각 자리 숫자의 합이 9의 배수 | 360 (3 + 6 + 0 = 9) |
| 11의 배수 | 홀수째 자리 합과 짝수째 자리 합의 차가 11의 배수 | 1001 ((1 + 0) − (0 + 1) = 0) |
나눠 볼 소수는 그 수의 제곱근까지만 확인하면 됩니다. 97은 √97 ≈ 9.8 이하의 소수 2, 3, 5, 7로 나누어떨어지지 않으므로 소수입니다. 합성수라면 제곱근보다 작거나 같은 소인수가 반드시 하나는 있기 때문입니다. 다만 수가 커지면 이 방법은 너무 느려서, 이 계산기는 큰 수에 밀러-라빈 소수 판정과 폴라드 로 알고리즘을 씁니다. 두 방법 모두 정수만 다루므로 18자리 안에서는 결과가 정확합니다.
약수의 개수와 약수의 합
소인수분해를 하면 약수를 모두 늘어놓지 않아도 개수를 셀 수 있습니다. 72 = 2³ × 3²의 약수는 2³의 약수(1, 2, 2², 2³) 가운데 하나와 3²의 약수(1, 3, 3²) 가운데 하나를 곱한 수이므로, 개수는 (3 + 1) × (2 + 1) = 12개입니다. 일반적으로 서로 다른 소수 a, b, c에 대해 am × bn × ck의 약수는 (m + 1)(n + 1)(k + 1)개입니다.
| × | 1 | 3 | 3² |
|---|---|---|---|
| 1 | 1 | 3 | 9 |
| 2 | 2 | 6 | 18 |
| 2² | 4 | 12 | 36 |
| 2³ | 8 | 24 | 72 |
약수의 합도 같은 방식으로 구합니다. 표의 수를 모두 더하면 (1 + 2 + 4 + 8) × (1 + 3 + 9) = 15 × 13 = 195입니다. 약수의 개수가 홀수인 수는 제곱수뿐인데, 제곱수는 모든 지수가 짝수라 (지수 + 1)이 모두 홀수이기 때문입니다.
같은 원리로 어떤 수에 가장 작은 자연수를 곱하거나 나눠 제곱수를 만드는 문제도 풉니다. 72 = 2³ × 3²에서 지수가 홀수인 소인수는 2 하나이므로, 2를 곱하면 144 = 12², 2로 나누면 36 = 6²이 됩니다. 계산기는 이 수를 함께 보여 줍니다.
최대공약수와 최소공배수 구하는 법
두 개 이상의 자연수에 공통인 약수를 공약수, 그중 가장 큰 수를 최대공약수라고 합니다. 공통인 배수는 공배수, 그중 가장 작은 수는 최소공배수입니다. 공약수는 최대공약수의 약수이고 공배수는 최소공배수의 배수라, 24와 36의 공약수는 12의 약수 1, 2, 3, 4, 6, 12이고 공배수는 72, 144, 216, …입니다. 최대공약수가 1인 두 수는 서로소라고 합니다.
소인수분해를 이용하는 방법은 각 수를 소인수분해해 같은 소인수끼리 줄을 맞춘 뒤, 최대공약수는 공통인 소인수를 지수가 작은 쪽으로, 최소공배수는 모든 소인수를 지수가 큰 쪽으로 골라 곱합니다.
24 = 2³ × 3
36 = 2² × 3²
최대공약수 = 2² × 3 = 12
최소공배수 = 2³ × 3² = 72
공약수로 나누는 방법은 거꾸로 나눗셈을 여러 수에 한꺼번에 합니다. 모든 수를 나누는 소수로 나누기를 몫이 서로소가 될 때까지 되풀이하면, 왼쪽 수의 곱이 최대공약수이고 왼쪽 수와 맨 아래 몫을 모두 곱한 값이 최소공배수입니다.
최대공약수 = 2 × 2 × 3 = 12
최소공배수 = 2 × 2 × 3 × 2 × 3 = 72
세 수 이상이면 규칙이 하나 늘어납니다. 최대공약수는 세 수를 모두 나누는 수로만 나눈 곳까지의 곱입니다. 최소공배수는 그 뒤에도 두 수만 나누어떨어지는 수가 있으면 계속 나누고, 나누어떨어지지 않는 수는 그대로 내려 씁니다. 어느 두 수도 서로소가 되면 멈추고 왼쪽 수와 맨 아래 수를 모두 곱합니다. 이 계산기의 사다리는 모든 수를 나눈 단계를 초록색, 일부만 나눈 단계를 주황색으로 구분해 보여 줍니다.
두 수 A, B 사이에는 A × B = 최대공약수 × 최소공배수라는 관계가 있습니다. 24 × 36 = 864 = 12 × 72입니다. 두 수의 곱을 최대공약수로 나누면 최소공배수가 나오지만, 세 수 이상에서는 이 관계가 성립하지 않습니다.
유클리드 호제법
유클리드 호제법(Euclidean algorithm)은 두 수를 소인수분해하지 않고 나눗셈만으로 최대공약수를 구하는 방법입니다. 큰 수를 작은 수로 나눈 나머지를 구하고, 나누던 수를 그 나머지로 다시 나누기를 되풀이해 나머지가 0이 될 때 마지막으로 나눈 수가 최대공약수입니다. A = B × q + r이면 A와 B의 최대공약수가 B와 r의 최대공약수와 같다는 성질을 이용합니다.
252 = 105 × 2 + 42
105 = 42 × 2 + 21
42 = 21 × 2 + 0 → 최대공약수 21
최소공배수 = 252 × 105 ÷ 21 = 1260
기원전 300년 무렵 유클리드의 ‘원론’에 실린, 지금까지 쓰이는 가장 오래된 알고리즘 가운데 하나입니다. 소인수분해가 어려운 큰 수에서도 몇 번의 나눗셈으로 끝나므로 컴퓨터가 최대공약수를 구할 때 이 방법을 씁니다. 엑셀에서는 =GCD(252, 105)와 =LCM(252, 105)로 최대공약수와 최소공배수를 바로 구하고, 호제법의 나머지는 MOD 함수로 확인할 수 있습니다.
최대공약수·최소공배수 활용
분수 계산에서 가장 자주 씁니다. 분자와 분모를 최대공약수로 나누면 한 번에 기약분수가 되고(약분), 분모들의 최소공배수를 공통분모로 쓰면 수가 가장 작게 통분됩니다. 분수의 약분·통분 과정은 분수 계산기에서 단계별로 볼 수 있습니다.
문장제에서는 “가장 큰, 최대한 많이, 똑같이 나누어”가 나오면 최대공약수, “가장 작은, 처음으로 다시, 동시에”가 나오면 최소공배수를 떠올립니다.
| 쓰는 값 | 문제와 답 |
|---|---|
| 최대공약수 | 가로 24 cm, 세로 36 cm인 직사각형을 남김없이 채우는 가장 큰 정사각형 타일의 한 변→ 24와 36의 최대공약수 12 cm (타일 2 × 3 = 6장) |
| 최대공약수 | 사탕 24개와 초콜릿 36개를 남김없이 똑같이 나눠 줄 수 있는 가장 많은 사람 수→ 최대공약수 12명 (한 사람에게 사탕 2개, 초콜릿 3개) |
| 최소공배수 | 12분마다, 18분마다 출발하는 두 버스가 오전 7시에 함께 떠났을 때 다음에 함께 떠나는 시각→ 12와 18의 최소공배수 36분 뒤, 오전 7시 36분 |
| 최소공배수 | 톱니가 24개, 36개인 두 톱니바퀴가 맞물려 돌 때 처음 맞물린 톱니끼리 다시 만날 때까지 도는 바퀴 수→ 최소공배수 72개의 톱니가 지나갈 때 — 작은 바퀴 3바퀴, 큰 바퀴 2바퀴 |
| 최소공배수 | 4, 6, 10 어느 것으로 나눠도 나머지가 1인 가장 작은 자연수(1 제외)→ 4, 6, 10의 최소공배수 60에 1을 더한 61 |
자주 하는 실수
- 1을 소수로 치기 — 1은 소수가 아니므로 소인수분해 결과에 쓰지 않습니다.
- 합성수를 남겨 두기 — 360 = 2³ × 45는 45가 합성수라 끝까지 나누지 않은 것입니다. 모든 인수가 소수여야 합니다.
- 지수와 곱을 헷갈리기 — 2³은 2 × 3 = 6이 아니라 2 × 2 × 2 = 8입니다.
- 최대공약수에 공통이 아닌 소인수 넣기 — 24 = 2³ × 3과 40 = 2³ × 5의 최대공약수는 2³ = 8입니다. 한쪽에만 있는 3과 5는 최소공배수에만 들어갑니다.
- 세 수의 최소공배수에서 일찍 멈추기 — 세 수의 공약수가 없어져도 두 수의 공약수가 남아 있으면 계속 나눠야 합니다.
- 서로소를 소수로 착각하기 — 서로소는 두 수 사이의 관계입니다. 8과 15는 둘 다 합성수지만 서로소입니다.
자주 묻는 질문
1은 왜 소수가 아닌가요?▾
소수는 약수가 1과 자기 자신 두 개뿐인 수이고, 1은 약수가 1 하나뿐이라 소수가 아닙니다. 1을 소수로 치면 12 = 2² × 3 = 1 × 2² × 3 = 1² × 2² × 3처럼 같은 수를 소수의 곱으로 나타내는 방법이 끝없이 생겨, 소인수분해가 한 가지로 정해진다는 성질이 깨집니다. 그래서 1은 소수도 합성수도 아닌 수로 따로 둡니다.
나누는 순서를 바꾸면 소인수분해 결과가 달라지나요?▾
달라지지 않습니다. 360을 2부터 나누든 5부터 나누든, 나뭇가지 모양으로 18 × 20으로 먼저 쪼개든 마지막에는 2³ × 3² × 5가 됩니다. 1보다 큰 자연수를 소수의 곱으로 나타내는 방법은 곱하는 순서를 빼면 한 가지뿐이기 때문이며, 이를 산술의 기본정리라고 합니다. 답을 쓸 때는 작은 소인수부터 거듭제곱으로 적는 것이 관례입니다.
몇 자리 수까지 소인수분해할 수 있나요?▾
18자리(999,999,999,999,999,999)까지입니다. 작은 소수로 나눠 보는 방법만으로는 큰 소수 두 개의 곱을 가르기 어려워, 큰 수는 밀러-라빈 소수 판정과 폴라드 로 알고리즘으로 소인수를 찾습니다. 모든 계산을 정수로 해 반올림 오차가 없고, 18자리 안에서는 소수 판정이 확률이 아닌 확정 결과입니다.
세 수의 최소공배수를 거꾸로 나눗셈으로 구할 때 주의할 점은?▾
세 수를 모두 나누는 공약수가 없어져도 멈추지 않습니다. 두 수만 나누어떨어지는 수가 있으면 그 수로 나누고, 나누어떨어지지 않는 수는 그대로 내려 씁니다. 어느 두 수를 골라도 서로소가 될 때까지 나눈 뒤 왼쪽 수와 맨 아래 수를 모두 곱합니다. 6, 8, 9는 세 수의 공약수가 1뿐이지만 2와 3으로 더 나눠 최소공배수 72를 얻습니다(세 수의 곱 432가 아님).
최대공약수 × 최소공배수 = 두 수의 곱은 세 수에도 성립하나요?▾
성립하지 않습니다. 두 수 A, B에서는 A × B = 최대공약수 × 최소공배수가 항상 맞지만, 세 수 2, 4, 8은 최대공약수 2 × 최소공배수 8 = 16이고 세 수의 곱은 64입니다. 세 수 이상에서는 소인수분해나 거꾸로 나눗셈으로 직접 구합니다.
서로소가 되려면 두 수가 모두 소수여야 하나요?▾
아닙니다. 서로소는 최대공약수가 1인 두 수를 말하며, 두 수가 소수인지와는 관계가 없습니다. 8 = 2³과 15 = 3 × 5는 둘 다 합성수지만 공통인 소인수가 없어 서로소입니다. 1과 모든 자연수, 연속한 두 자연수(14와 15 등)도 항상 서로소입니다.
소수는 끝없이 많은가요?▾
그렇습니다. 소수가 유한하다고 가정하고 모든 소수를 곱한 뒤 1을 더하면, 그 수는 어떤 소수로 나눠도 1이 남아 새로운 소수이거나 목록에 없는 소인수를 가져 가정에 어긋납니다. 기원전 유클리드의 원론에 실린 증명입니다.
입력한 숫자는 저장되나요?▾
아니요. 모든 계산은 브라우저 안에서만 처리되며 입력한 수와 결과는 서버로 전송되거나 저장되지 않습니다.
용어와 풀이 방법은 중학교 1학년 수학에서 쓰는 뜻을 따랐고, 위키백과 “소인수분해”·“산술의 기본 정리”·“유클리드 호제법” 문서를 참고했습니다(2026년 9월 확인). 소수 판정은 밀러-라빈 판정의 밑을 2부터 37까지 소수 12개로 두어 3.18 × 10²³ 미만에서 확정적으로 판정하며(OEIS A014233), 입력 한도 10¹⁸은 이 범위 안에 있습니다. 입력값은 브라우저 안에서만 처리되고 서버로 전송·저장되지 않습니다.