본문으로 건너뛰기
🛠️ToolsShed

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

여러 숫자의 최대공약수와 최소공배수를 계산합니다.

쉼표 또는 공백으로 숫자를 구분하세요

작동 방식

  • GCD(최대공약수)는 모든 입력 숫자를 나누는 가장 큰 수입니다.
  • LCM(최소공배수)는 모든 입력 숫자가 나누어떨어지는 가장 작은 수입니다.
  • 유클리드 알고리즘을 사용하여 GCD를 효율적으로 계산합니다.

이 도구 소개

최대공약수(GCD)와 최소공배수(LCM)는 수학, 공학, 컴퓨터 과학 전체에서 사용되는 수론의 기본 개념입니다. GCD는 정수 집합을 나누어떨어뜨리는 가장 큰 수이고, LCM은 그것들 모두로 나누어떨어지는 가장 작은 수입니다. 분수를 약분하거나, 비율 문제를 풀거나, 주기적 사이클을 관리하거나, 알고리즘을 최적화할 때, GCD와 LCM을 이해하고 계산할 수 있는 능력은 정수를 효율적으로 다루기 위해 필수적입니다.

이 계산기를 사용하려면 2개 이상의 정수를 입력 필드에 쉼표나 공백으로 구분하여 입력합니다. 도구는 즉시 GCD(수들의 최대공약수)와 LCM(최소공배수)을 계산합니다. 이 계산값은 알고리즘의 단계별 분해와 함께 명확하게 표시되어, 기저에 있는 로직을 이해할 수 있도록 도와줍니다. 계산기는 모든 양의 정수를 처리하고 여러 수와 원활하게 작동하므로, 수론을 배우는 학생, 실제 문제를 푸는 전문가, 그리고 빠르고 신뢰할 수 있는 약수와 배수 계산이 필요한 모든 사람에게 매우 유용합니다.

자주 묻는 질문

코드 구현

import math

def gcd(a: int, b: int) -> int:
    """Euclidean algorithm for Greatest Common Divisor."""
    while b:
        a, b = b, a % b
    return a

def lcm(a: int, b: int) -> int:
    """Least Common Multiple via GCD."""
    return abs(a * b) // gcd(a, b)

def gcd_multi(*nums: int) -> int:
    """GCD of multiple numbers."""
    result = nums[0]
    for n in nums[1:]:
        result = gcd(result, n)
    return result

def lcm_multi(*nums: int) -> int:
    """LCM of multiple numbers."""
    result = nums[0]
    for n in nums[1:]:
        result = lcm(result, n)
    return result

# Examples
print(gcd(48, 18))           # 6
print(lcm(4, 6))             # 12
print(gcd_multi(12, 18, 24)) # 6
print(lcm_multi(4, 6, 10))   # 60

# Using Python's built-in math module (Python 3.9+)
print(math.gcd(48, 18))      # 6
print(math.lcm(4, 6, 10))    # 60

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.