🌐 KO

🔢 최대공약수(GCF) 계산기

유클리드 호제법 & 소인수분해

숫자 입력

계산 결과
최대공약수 (GCF)
최소공배수 (LCM) 서로소 여부
소인수분해
공통 약수
유클리드 호제법 단계
    소인수분해 트리
    가이드

    자세히 알아보기

    01

    최대공약수의 정의와 기본 개념

    최대공약수(Greatest Common Factor, GCF 또는 Greatest Common Divisor, GCD)는 두 개 이상의 정수를 모두 나누어떨어지게 하는 수(공약수) 중에서 가장 큰 수입니다. 수학에서 매우 중요한 개념으로, 분수의 약분, 비율 계산, 패턴 분석 등 다양한 분야에서 활용됩니다. 예를 들어 12와 18을 생각해보면, 12의 약수는 1, 2, 3, 4, 6, 12이고 18의 약수는 1, 2, 3, 6, 9, 18입니다. 이 중 공통으로 나타나는 약수는 1, 2, 3, 6이며, 가장 큰 공약수인 6이 바로 12와 18의 최대공약수입니다. 최대공약수가 1인 두 수를 "서로소(coprime 또는 relatively prime)"라고 하며, 이는 1 이외에 공통 약수가 없다는 의미입니다.

    02

    유클리드 호제법: 가장 효율적인 GCF 계산법

    유클리드 호제법(Euclidean Algorithm)은 기원전 300년경 그리스 수학자 유클리드가 저서 "원론(Elements)"에서 소개한 알고리즘으로, 2000년 넘게 사용되고 있는 가장 오래된 알고리즘 중 하나입니다. 이 방법은 큰 수의 최대공약수도 매우 빠르게 계산할 수 있는 장점이 있습니다. 원리는 간단합니다: 두 수 a, b (a > b)가 있을 때, a를 b로 나눈 나머지를 r이라 하면 GCD(a, b) = GCD(b, r)입니다. 이 과정을 나머지가 0이 될 때까지 반복하면, 마지막으로 나누는 수가 최대공약수가 됩니다. 예를 들어 GCD(1071, 462)를 구하면: 1071 = 462 × 2 + 147 → GCD(462, 147) / 462 = 147 × 3 + 21 → GCD(147, 21) / 147 = 21 × 7 + 0 → GCD(21, 0) = 21. 따라서 최대공약수는 21입니다. 이 방법의 시간 복잡도는 O(log min(a,b))로 매우 효율적입니다.

    03

    소인수분해를 이용한 GCF 계산

    소인수분해는 어떤 수를 소수(prime number)들의 곱으로 나타내는 것입니다. 이 방법을 사용하면 최대공약수를 체계적으로 구할 수 있습니다. 방법은 다음과 같습니다: ① 각 수를 완전히 소인수분해합니다. ② 공통으로 나타나는 소인수를 찾습니다. ③ 각 공통 소인수의 지수 중 작은 값을 선택합니다. ④ 선택한 소인수들을 모두 곱합니다. 예를 들어 72와 48의 최대공약수를 구하면: 72 = 2³ × 3² = 8 × 9 / 48 = 2⁴ × 3¹ = 16 × 3. 공통 소인수는 2와 3이며, 2의 지수는 min(3, 4) = 3, 3의 지수는 min(2, 1) = 1입니다. 따라서 GCF = 2³ × 3¹ = 8 × 3 = 24입니다. 이 방법은 세 개 이상의 수의 최대공약수를 구할 때 특히 유용하며, 각 수의 구조를 명확하게 이해할 수 있는 장점이 있습니다.

    04

    최대공약수와 최소공배수의 관계

    최대공약수(GCF)와 최소공배수(LCM)는 밀접한 관계가 있습니다. 두 자연수 a, b에 대해 다음 공식이 성립합니다: a × b = GCF(a, b) × LCM(a, b). 이 공식을 이용하면 최대공약수를 알 때 최소공배수를 쉽게 구할 수 있습니다: LCM(a, b) = (a × b) / GCF(a, b). 예를 들어 12와 18의 경우: GCF(12, 18) = 6 / LCM(12, 18) = (12 × 18) / 6 = 216 / 6 = 36. 반대로 최소공배수를 알 때 최대공약수를 구할 수도 있습니다. 소인수분해로 이해하면 더 명확합니다: 최대공약수는 공통 소인수의 최소 지수를 사용하고, 최소공배수는 모든 소인수의 최대 지수를 사용합니다. 12 = 2² × 3¹, 18 = 2¹ × 3²일 때, GCF = 2¹ × 3¹ = 6 (최소 지수), LCM = 2² × 3² = 36 (최대 지수)입니다.

    05

    최대공약수의 실생활 활용 사례

    최대공약수는 일상생활의 다양한 문제를 해결하는 데 활용됩니다. 1) 타일링 문제: 24cm × 36cm 직사각형 바닥을 정사각형 타일로 빈틈없이 채우려면 타일 한 변의 길이는 GCF(24, 36) = 12cm가 되어야 합니다. 2) 분수 약분: 18/24를 기약분수로 만들려면 분자와 분모를 GCF(18, 24) = 6으로 나누어 3/4로 약분합니다. 3) 비율 단순화: 48:72의 비를 간단히 하려면 GCF(48, 72) = 24로 나누어 2:3으로 표현합니다. 4) 포장 문제: 사과 36개와 오렌지 48개를 같은 개수씩 나누어 선물 세트를 만들 때, 최대 GCF(36, 48) = 12세트를 만들 수 있으며, 각 세트는 사과 3개, 오렌지 4개로 구성됩니다. 5) 주기 계산: A 행성은 12년, B 행성은 18년 주기로 공전한다면, 두 행성이 같은 위치에서 만나는 주기는 LCM(12, 18) = 36년이지만, 공통 약수인 GCF(12, 18) = 6년마다 일정한 패턴이 반복됩니다. 6) 기어 설계: 톱니가 24개인 기어와 36개인 기어가 맞물릴 때, GCF(24, 36) = 12개씩 구간으로 나누어 설계하면 정확한 맞물림을 보장할 수 있습니다.

    06

    프로그래밍에서의 GCF 활용

    프로그래밍에서 최대공약수는 다양한 알고리즘과 암호화 기법에 활용됩니다. 재귀 함수를 이용한 유클리드 호제법 구현: function gcd(a, b) { return b === 0 ? a : gcd(b, a % b); } 이 간단한 함수는 매우 효율적으로 최대공약수를 계산합니다. RSA 암호화: 공개키 암호화 시스템인 RSA는 최대공약수가 1인 두 수(서로소)를 찾는 과정이 핵심입니다. 두 소수 p, q를 선택하고, (p-1)(q-1)과 서로소인 공개지수 e를 선택합니다. 화면 해상도 비율: 1920×1080 해상도의 비율을 구하면 GCF(1920, 1080) = 120으로 나누어 16:9가 됩니다. 분수 연산 최적화: 컴퓨터에서 분수를 다룰 때, 분자와 분모를 항상 최대공약수로 나누어 기약분수 형태로 유지하면 오버플로우를 방지하고 계산 효율을 높일 수 있습니다. 유리수 판별: 순환소수를 분수로 변환한 후 약분할 때 최대공약수를 사용합니다. 게임 개발: 타일 맵 에디터에서 그리드 크기를 결정하거나, 캐릭터 이동 속도를 동기화할 때 최대공약수를 활용하여 최적의 기본 단위를 찾습니다.