이 계산기는 무엇인가요
최대공약수·최소공배수 계산기는 정수를 2개에서 10개까지 넣으면 최대공약수(GCD)와 최소공배수(LCM)를 동시에 계산하고, 답만이 아니라 풀이 과정을 표로 함께 보여 주는 도구입니다. 숙제 노트에 그대로 옮겨 적을 수 있도록 공약수로 나누기(사다리)·소인수분해·유클리드 호제법 세 가지 방법을 모두 제공합니다.
세 방법을 다 두는 이유는 학교에서 배우는 방법이 학년마다 다르기 때문입니다. 한국 교과서의 기본은 여러 수를 세로로 늘어놓고 공약수로 나누는 사다리 방식이고, 소인수분해 지수 비교는 그다음 단계이며, 유클리드 호제법은 고등학교 정보나 대학 이산수학에서 등장합니다. 어느 방법으로 풀어 오라는 숙제를 받았든 그 방법의 표를 그대로 볼 수 있게 했습니다.
수가 커져도 답이 정확합니다. 최소공배수는 생각보다 아주 쉽게 커져서 99999989·99999971·99999959 세 수의 최소공배수는 999,999,190,000,195,899,986,921로 24자리입니다. 이 계산기는 자릿수 제한 없는 정수 연산을 쓰기 때문에 반올림이나 지수 표기 없이 전체 자릿수를 그대로 보여 줍니다.
자주 찾는 두 수의 최대공약수·최소공배수
| 두 수 | 최대공약수 | 최소공배수 |
|---|---|---|
| 4, 6 | 2 | 12 |
| 6, 8 | 2 | 24 |
| 8, 12 | 4 | 24 |
| 9, 12 | 3 | 36 |
| 12, 18 | 6 | 36 |
| 14, 21 | 7 | 42 |
| 15, 20 | 5 | 60 |
| 16, 24 | 8 | 48 |
| 18, 27 | 9 | 54 |
| 20, 30 | 10 | 60 |
| 24, 36 | 12 | 72 |
| 25, 35 | 5 | 175 |
| 30, 45 | 15 | 90 |
| 36, 60 | 12 | 180 |
| 48, 18 | 6 | 144 |
| 17, 19 | 1 | 323 |
두 수일 때만 성립하는 검산법이 있습니다 — 최대공약수 × 최소공배수 = 두 수의 곱. 예를 들어 48과 18은 6 × 144 = 864 = 48 × 18로 맞아떨어집니다.
세 개 이상일 때 — 곱하기 공식이 깨지는 자리
| 수 | 최대공약수 | 최소공배수 | 모든 수의 곱 |
|---|---|---|---|
| 2, 3, 4 | 1 | 12 | 24 |
| 12, 18, 24 | 6 | 72 | 5184 |
| 6, 10, 15 | 1 | 30 | 900 |
| 2, 3, 5, 7 | 1 | 210 | 210 |
수가 셋 이상이면 "최대공약수 × 최소공배수 = 모든 수의 곱"이 성립하지 않습니다. 2, 3, 4가 대표적입니다 — 1 × 12 = 12인데 2 × 3 × 4 = 24입니다. 셋 이상은 두 개씩 차례로 계산(축차)해야 합니다.
최대공약수 구하는 법 ① 공약수로 나누기 (사다리 방법)
한 줄 요약: 여러 수를 가로로 늘어놓고 모두를 나누는 공약수로 계속 나눈 뒤, 왼쪽에 적은 수들을 곱합니다. 한국 교과서의 기본 방법으로, 보통 초등학교 5학년 무렵에 배웁니다.
12, 18, 24를 예로 들면 먼저 셋을 모두 나누는 2로 나눠 6, 9, 12를 얻고, 다시 셋을 모두 나누는 3으로 나눠 2, 3, 4를 얻습니다. 이제 셋을 한꺼번에 나누는 수가 1밖에 없으니 여기서 멈추고, 왼쪽에 적은 2와 3을 곱한 6이 최대공약수입니다.
만약 모두를 나누는 공약수가 처음부터 하나도 없다면 표가 한 줄도 만들어지지 않습니다. 이때는 표가 잘못된 것이 아니라 최대공약수가 1이라는 뜻입니다. 2, 3, 4가 그런 경우입니다.
최소공배수 구하는 법 — 같은 사다리인데 규칙이 다릅니다
한 줄 요약: 최소공배수 사다리는 둘 이상만 나눠져도 계속 진행하고, 나눠지지 않는 수는 그대로 아래로 내려씁니다. 마지막에 왼쪽 세로 곱과 맨 아래 가로 곱을 곱합니다.
여기가 가장 많이 헷갈리는 자리입니다. 최대공약수 사다리는 "모든 수"를 나누는 수로만 나누지만, 최소공배수 사다리는 "둘 이상"만 나눠져도 나눕니다. 그래서 같은 12, 18, 24라도 최대공약수 사다리는 2, 3으로 두 번 나누고 최소공배수 사다리는 2, 2, 3으로 세 번 나눕니다. 전개 자체가 다르기 때문에 한 표로 합쳐 적을 수 없습니다.
12, 18, 24의 최소공배수 사다리를 따라가면 2로 나눠 6, 9, 12, 다시 2로 나눌 때 9는 나눠지지 않으므로 그대로 두어 3, 9, 6, 마지막으로 3으로 나눠 1, 3, 2가 됩니다. 왼쪽 세로 곱 2×2×3 = 12와 맨 아래 가로 곱 1×3×2 = 6을 곱한 72가 최소공배수입니다.
최대공약수 구하는 법 ② 소인수분해
한 줄 요약: 각 수를 소수의 곱으로 쪼갠 뒤, 공통 소수의 지수 중 작은 쪽을 모으면 최대공약수, 큰 쪽을 모으면 최소공배수입니다.
12 = 2²×3, 18 = 2×3², 24 = 2³×3으로 분해했다고 합시다. 소수 2의 지수는 각각 2, 1, 3이므로 작은 쪽 1과 큰 쪽 3을 취하고, 소수 3의 지수는 1, 2, 1이므로 작은 쪽 1과 큰 쪽 2를 취합니다. 그러면 최대공약수는 2×3 = 6, 최소공배수는 2³×3² = 72입니다.
이 방법은 왜 답이 그렇게 나오는지가 가장 잘 보이지만, 수가 커지면 쓸 수 없습니다. 소인수분해는 수의 제곱근에 비례하는 시간이 들기 때문에 13자리를 넘어가면 실용적이지 않습니다. 계산기가 그 구간에서 소인수분해 대신 유클리드 호제법으로 안내하는 이유입니다.
최대공약수 구하는 법 ③ 유클리드 호제법
한 줄 요약: 큰 수를 작은 수로 나눈 나머지로 계속 바꿔 나가다가, 나머지가 0이 되는 순간의 나누는 수가 최대공약수입니다.
1071과 462로 해 보면 1071 ÷ 462 = 2 … 147, 462 ÷ 147 = 3 … 21, 147 ÷ 21 = 7 … 0입니다. 나머지가 0이 되었으니 그때의 나누는 수 21이 최대공약수이고, 최소공배수는 (1071 ÷ 21) × 462 = 23,562입니다.
호제법은 단계 수가 자릿수에 로그로 비례해서 20자리 수라도 몇십 단계 안에 끝납니다. 세 방법 중 큰 수에서 유일하게 실용적인 방법이며, 그래서 컴퓨터가 최대공약수를 구할 때 쓰는 방법이기도 합니다. 다만 한국 초·중학교 교과서에는 나오지 않으므로 숙제에 쓸 때는 선생님이 요구한 방법인지 확인하세요.
수가 셋 이상이면 두 개씩 차례로 처리합니다. 12, 18, 24라면 먼저 GCD(18, 12) = 6을 구하고, 이어서 GCD(24, 6) = 6을 구합니다. 중간에 1이 나와도 남은 수를 끝까지 처리해야 표가 입력과 맞습니다.
어느 방법을 언제 쓰나요
학교 숙제라면 배운 방법을 그대로 쓰는 것이 맞습니다. 초등·중학교라면 공약수로 나누기, 소인수분해를 배운 뒤라면 지수 비교, 고등학교 정보나 대학 이산수학이라면 유클리드 호제법입니다.
수의 크기로 고른다면 기준은 분명합니다. 세 자리 이하의 작은 수는 어느 방법이든 비슷하고, 소인수분해는 왜 그런지 이해하기에 가장 좋습니다. 반면 열 자리를 넘는 수라면 소인수분해와 사다리는 사실상 불가능하고 호제법만 답을 냅니다.
분수를 약분하려면 분자와 분모의 최대공약수로 나누고, 분모가 다른 분수를 통분하려면 분모들의 최소공배수를 공통분모로 씁니다. 초등 고학년에서 최대공약수·최소공배수를 배우는 진짜 목적지가 대개 이쪽입니다.
용어 정리 — GCD, GCF, LCM, HCF
최대공약수는 영어로 GCD(Greatest Common Divisor) 또는 GCF(Greatest Common Factor)라고 하며, 영국식 표기로는 HCF(Highest Common Factor)를 쓰기도 합니다. 셋 다 같은 뜻입니다. 최소공배수는 LCM(Least Common Multiple)입니다.
두 수의 최대공약수가 1이면 두 수를 서로소라고 합니다. 17과 19처럼 공통으로 나누어떨어지는 수가 1뿐인 경우입니다. 수가 셋 이상일 때 "서로소"는 보통 전체의 최대공약수가 1이라는 뜻으로 씁니다 — 2, 3, 4는 전체 최대공약수가 1이라 서로소이지만 2와 4는 쌍으로는 서로소가 아닙니다.
약수는 어떤 수를 나누어떨어지게 하는 수이고, 배수는 어떤 수를 정수배 한 수입니다. 공약수는 여러 수의 공통 약수, 공배수는 공통 배수이며, 그중 가장 큰 공약수와 가장 작은 공배수(0 제외)가 최대공약수와 최소공배수입니다.
0과 음수, 소수점은 어떻게 되나요
수학적으로는 0에 대해서도 최대공약수가 정의됩니다. 모든 정수는 0을 나누므로 gcd(a, 0) = a이고, 0의 배수는 0뿐이므로 lcm(a, 0) = 0입니다. 즉 0이 하나라도 섞이면 최소공배수는 언제나 0이 됩니다.
다만 이 계산기는 0을 계산에서 제외하고 그 사실을 안내합니다. 최소공배수가 0으로 나오면 학생은 대부분 자기가 뭔가 잘못했다고 생각하게 되기 때문입니다. 수학적 정의는 이렇게 글로 밝혀 두고, 계산은 남은 수들로 이어 갑니다.
음수는 절댓값으로 처리합니다. -12와 18의 최대공약수는 12와 18의 최대공약수와 같은 6입니다. 소수점이 들어간 수는 최대공약수·최소공배수가 정의되지 않으므로 계산에 쓰지 않고 정수 전용임을 안내합니다 — 반올림해서 계산하면 사용자가 의도하지 않은 다른 문제를 조용히 풀게 됩니다.
자주 묻는 질문
- 최대공약수 구하는 법이 뭔가요?
- 세 가지가 있습니다. 여러 수를 모두 나누는 공약수로 계속 나눈 뒤 왼쪽에 적은 수들을 곱하는 사다리 방법, 각 수를 소인수분해해 공통 소수의 작은 지수를 모으는 방법, 큰 수를 작은 수로 나눈 나머지로 계속 바꿔 가는 유클리드 호제법입니다. 학교에서 배운 방법으로 푸는 것이 가장 안전합니다.
- 최소공배수 사다리는 왜 최대공약수 사다리와 다르게 나눠지나요?
- 최대공약수는 모두가 공통으로 가진 부분만 필요하지만, 최소공배수는 어느 하나에만 있는 소인수도 결과에 들어가야 하기 때문입니다. 그래서 둘 이상만 나눠져도 계속 나누고, 나눠지지 않는 수는 그대로 내려씁니다. 12, 18, 24에서 최대공약수는 2, 3으로 나누고 최소공배수는 2, 2, 3으로 나눕니다.
- 최대공약수 × 최소공배수 = 두 수의 곱, 이 공식은 항상 맞나요?
- 두 수일 때만 맞습니다. 48과 18이면 6 × 144 = 864 = 48 × 18로 성립합니다. 그러나 셋 이상에서는 깨집니다 — 2, 3, 4의 최대공약수는 1, 최소공배수는 12이지만 1 × 12 = 12이고 2 × 3 × 4 = 24입니다. 셋 이상은 두 개씩 차례로 계산해야 합니다.
- 숫자를 세 개 이상 넣을 수 있나요?
- 최대 10개까지 넣을 수 있습니다. 쉼표나 공백으로 구분해 한 번에 붙여넣어도 각 칸으로 나뉘어 들어갑니다. 세 개 이상이면 사다리·소인수분해·호제법 세 표가 모두 여러 수 기준으로 만들어집니다.
- 서로소가 무슨 뜻인가요?
- 두 수의 최대공약수가 1이라는 뜻입니다. 17과 19처럼 1 말고는 공통으로 나누어떨어지는 수가 없는 관계입니다. 이 계산기는 넣은 수들의 최대공약수가 1일 때만 서로소 표시를 붙입니다.
- 아주 큰 수를 넣으면 소인수분해 탭이 안 나와요
- 소인수분해는 수의 제곱근에 비례하는 시간이 들어 13자리를 넘으면 화면이 멈출 수 있습니다. 그래서 그 구간에서는 소인수분해를 시도하지 않고 유클리드 호제법으로 안내합니다. 최대공약수와 최소공배수 답 자체는 크기와 관계없이 정확하게 나옵니다.
- 분수 약분에 어떻게 쓰나요?
- 분자와 분모를 넣어 최대공약수를 구한 뒤 둘 다 그 수로 나누면 기약분수가 됩니다. 예를 들어 24/36이면 최대공약수가 12이므로 2/3이 됩니다. 분모가 다른 분수를 더할 때는 분모들의 최소공배수를 공통분모로 씁니다.