최대공약수·최소공배수 계산기

여러 정수의 최대공약수(GCD)와 최소공배수(LCM)를 계산하고 풀이 과정까지 보여 줍니다 — 소인수분해 표, 유클리드 호제법 한 줄씩, 공통 약수 전체.

사용된 숫자: 12, 18, 24

최대공약수 (GCD)
6
최소공배수 (LCM)
72

풀이 과정

소인수분해로 보기

수=
122² × 3
182 × 3²
242³ × 3
GCD2 × 3
LCM2³ × 3²

최대공약수는 각 소수의 지수 중 가장 작은 것을, 최소공배수는 가장 큰 것을 고릅니다. 표 하나에 방법이 다 들어 있습니다.

벤 다이어그램

1218243222 × 3

GCD = 가운데 = 2 × 3 = 6

LCM = 전부 = 2³ × 3² = 72

원 하나에 수 하나의 소인수가 들어 있습니다. 모든 원이 겹치는 부분을 곱하면 최대공약수이고, 그림 안의 모든 수를 곱하면 최소공배수입니다.

나눗셈 방법 (사다리 셈)

2121824
26912
2396
3393
3131
111

LCM = 2 × 2 × 2 × 3 × 3 = 72

GCD = 2 × 3 = 6

적어도 한 수를 나누는 소수로 나누고, 나누어지지 않는 수는 그대로 내려 씁니다. 맨 아랫줄이 모두 1이 될 때까지 반복합니다. 왼쪽 소수를 모두 곱하면 최소공배수이고, 굵게 표시한 것(모든 수를 나눈 소수)을 곱하면 최대공약수입니다.

두 수씩 보여 줍니다. 수가 더 많을 때는 위의 소인수분해 표가 그 방법입니다.

최대공약수로 최소공배수 구하기

LCM(12, 18) = 12 × 18 ÷ GCD(12, 18) = 216 ÷ 6 = 36

LCM(36, 24) = 36 × 24 ÷ GCD(36, 24) = 864 ÷ 12 = 72

두 수에 대해 최대공약수 × 최소공배수 = a × b 이므로, 최소공배수 = a × b ÷ 최대공약수입니다. 수가 더 많으면 하나씩 차례로 적용합니다.

배수 나열하기

12: 12, 24, 36, 48, 60, 72

18: 18, 36, 54, 72

24: 24, 48, 72

각 수의 배수를 모든 목록에 같은 수가 나올 때까지 적습니다. 처음 겹치는 수(굵게)가 최소공배수입니다.

공통 약수

12: 1, 2, 3, 4, 6, 12

18: 1, 2, 3, 6, 9, 18

24: 1, 2, 3, 4, 6, 8, 12, 24

각 수의 약수입니다. 굵게 표시한 것이 모든 수를 나누는 공약수이고, 그중 가장 큰 것이 최대공약수입니다.

1, 2, 3, 6

최대공약수의 약수와 정확히 같습니다 — 마지막 값이 위의 답입니다.

문장제 문제

버스. 버스 세 대가 동시에 정류장을 출발합니다. 한 대는 18분마다, 한 대는 12분마다, 한 대는 24분마다 돌아옵니다. 세 대가 다시 동시에 정류장에 모이는 것은 몇 분 뒤일까요?

최소공배수: 72분 뒤입니다.

리본. 길이가 84cm, 126cm인 리본 두 개를 남김없이 모두 같은 길이로 자르려고 합니다. 한 조각을 가장 길게 하면 몇 cm일까요?

팀 나누기. 여학생 24명과 남학생 36명을 팀마다 여학생 수와 남학생 수가 각각 같도록 나누려고 합니다. 팀을 가장 많이 만들면 몇 팀일까요?

소시지와 빵. 소시지는 10개들이, 빵은 8개들이로 팝니다. 소시지와 빵의 개수를 똑같이 맞추려면 각각 최소 몇 개를 사야 할까요?

이 계산기가 하는 일

쉼표나 공백으로 구분한 정수 두 개 이상을 입력하면 최대공약수(GCD)와 최소공배수(LCM)를 즉시 보여 줍니다. 최대공약수는 목록의 모든 수를 나머지 없이 나누는 가장 큰 정수이고, 최소공배수는 모든 수가 나누어떨어지는 가장 작은 양의 정수입니다. 음수 부호는 무시되고 숫자가 아니거나 빈 값은 건너뛰므로, 다소 지저분한 데이터를 붙여넣어도 깔끔한 결과를 얻을 수 있습니다.

답을 구한 풀이 과정

두 답 아래에는 그 답이 어떻게 나왔는지가 나옵니다 — 기본은 모든 방법이고, “풀이 과정 보기”에서 한 가지 방법만 고르거나 답만 볼 수도 있습니다. 소인수분해 표는 각 수를 소수의 곱으로 쓰고(12 = 2² × 3, 18 = 2 × 3²), 최대공약수가 각 소수의 지수 중 가장 작은 것을, 최소공배수가 가장 큰 것을 고르는 모습을 보여 줍니다. 표 하나가 방법 전체이며, 한 번에 50개까지 보여 줍니다 — 그보다 많으면 위의 최대공약수·최소공배수는 그대로 정확하고, 표가 없는 이유를 페이지가 알려 줍니다. 두 수일 때는 유클리드 호제법이 한 줄씩 나옵니다 — 48 = 2 × 18 + 12, 18 = 1 × 12 + 6, 12 = 2 × 6 + 0 — 마지막에 나눈 수가 답입니다. 두 수일 때는 방법이 두 가지 더 나옵니다. 큰 수에서 작은 수를 두 수가 같아질 때까지 빼는 뺄셈 유클리드 — 교과서에 흔히 먼저 나오는 방식 — 와, 반으로 나누기와 빼기만 쓰는 이진(스타인) 알고리즘입니다. 마지막으로 공통 약수 전체가 나오는데, 이는 최대공약수의 약수와 정확히 같으므로 목록의 마지막 값이 언제나 위의 답이 됩니다. 최대공약수가 1이면 서로소라고 알려 주고, 세 수 이상이면 모든 쌍이 서로소인지, 아니라면 서로소가 아닌 쌍을 알려 줍니다.

답이 아무리 커도 정확하게

수가 많아지면 최소공배수는 빠르게 커지고, 약 9000조를 넘어가면 일반적인 숫자 표현으로는 정확히 담을 수 없습니다. 그래서 이 도구는 최소공배수를 큰 정수로 누적해 그럴듯한 반올림 값이 아니라 정확한 값을 냅니다. 풀이 과정에는 별도의 한계가 있습니다. 인수분해도 약수 훑기도 전부 시행 나눗셈이기 때문입니다. 약 1조를 넘는 수는 소인수분해 표에서 제외되고, 표는 한 번에 50개까지만 만들며, 최대공약수 자체가 1조를 넘으면 공통 약수 목록은 건너뜁니다. 각각을 조용히 지우지 않고 이유와 함께 알려 줍니다 — 이 한계가 없으면 1MB의 숫자를 붙여넣었을 때 키 입력마다 화면이 30초 넘게 멈춥니다.

자주 묻는 질문

최대공약수와 최소공배수는 어떻게 다른가요?

최대공약수는 모든 수를 나누는 가장 큰 수이고, 최소공배수는 모든 수가 나누어떨어지는 가장 작은 수입니다. 12와 18이라면 최대공약수는 6, 최소공배수는 36입니다. 분수를 약분할 때 쓰는 것이 최대공약수이고, 분수를 더할 때 통분하는 분모가 최소공배수입니다.

어떻게 계산했는지 볼 수 있나요?

네, 페이지의 대부분이 그것입니다. 소인수분해 표가 각 수를 소수로 분해하고 거기서 최대공약수·최소공배수 줄을 읽어 내며, 두 수일 때는 유클리드 호제법이 한 줄씩 나오고, 공통 약수가 전부 나열됩니다 — 약수가 200개를 넘거나 최대공약수가 1조를 넘을 때만, 나열 대신 그 이유를 알려 줍니다.

유클리드 호제법은 어떻게 하는 건가요?

큰 수를 작은 수로 나누고 나머지를 남깁니다. 그다음 방금 나눈 수를 그 나머지로 나눕니다. 나머지가 0이 될 때까지 반복하면, 마지막에 나눈 수가 최대공약수입니다. 이 페이지가 그 줄들을 대신 적어 줍니다.

수를 세 개 이상 넣어도 되나요?

네, 몇 개든 됩니다. 최대공약수와 최소공배수는 목록 전체에 걸쳐 누적됩니다. 소인수분해 표는 한 번에 50개까지 보여 주는데 — 손으로 세 개 이상을 풀 때 쓰는 방법 그대로이고, 그 이상은 한 페이지에 담을 만한 표가 아닙니다 — 그보다 많으면 두 답은 그대로 남고 표가 없는 이유를 알려 줍니다. 유클리드 호제법은 알고리즘 자체가 두 수를 다루는 형태라 두 수일 때만 표시됩니다.

배수와 약수도 나열하나요? 소수도 되나요?

네. 유클리드 호제법과 함께 배수 나열, 공통 약수를 표시한 약수 목록, 사다리(나눗셈) 방법을 보여 주고, 최소공배수 = a × b ÷ 최대공약수 관계도 씁니다. 소수와 분수도 정확하게 답합니다.

방법을 하나만 고르거나, 벤 다이어그램을 보거나, 결과를 링크로 보내거나, 문장제 문제를 풀어 볼 수 있나요?

네. “풀이 과정 보기”에서 모든 방법(기본값), 보지 않기 — 답만 — 또는 한 가지 방법을 고를 수 있고, 링크 복사는 그 선택을 숫자와 함께 담습니다. 주소에 담기에 너무 긴 목록은 페이지에만 남고, 링크를 주는 대신 그렇다고 알려 줍니다. 정수가 두세 개일 때는 벤 다이어그램이 수마다 소인수를 제 원에 넣어, 모든 원이 겹치는 부분을 곱하면 최대공약수, 그림 안의 모든 수를 곱하면 최소공배수가 됩니다. 풀이 과정 아래 “문장제 문제”에는 버스·리본·팀 나누기·소시지와 빵 문제가 있고, “풀어 보기”를 누르면 그 수를 입력칸에 넣고 답 문장을 보여 줍니다.

서로소인지 알려 주고, 다른 최대공약수 방법도 보여 주나요?

네. 최대공약수가 1이면 서로소라고 알려 주는데 — 공통인 소인수가 없을 뿐, 둘 다 소수일 필요는 없습니다 — 세 수 이상이면 모든 쌍이 서로소인지, 아니라면 처음으로 서로소가 아닌 쌍을 알려 줍니다. 두 수일 때는 “풀이 과정 보기”에서 두 수가 같아질 때까지 큰 수에서 작은 수를 빼는 뺄셈 유클리드와, 반으로 나누기와 빼기만 쓰는 이진 최대공약수(스타인 알고리즘)도 고를 수 있으며, 각각 줄이 한도를 넘으면 적지 않고 그렇다고 알려 줍니다.