跳到内容
🛠️ToolsShed

最大公约数与最小公倍数计算

计算多个数字的最大公约数和最小公倍数。

用逗号或空格分隔数字

工作原理

  • GCD(最大公约数)是能整除所有输入数字的最大数字。
  • LCM(最小公倍数)是所有输入数字都能整除的最小数字。
  • 使用欧几里得算法高效计算GCD。

关于此工具

最大公约数(GCD)和最小公倍数(LCM)是数论中的基本概念,广泛应用于数学、工程和计算机科学。GCD代表整除一组整数的最大数,而LCM是被所有这些数整除的最小数。无论你是在化简分数、求解涉及比例的问题、管理周期循环,还是优化算法,理解和计算GCD与LCM对于高效处理整数都是必不可少的。

要使用此计算器,在输入框中输入两个或多个整数,用逗号或空格分隔。该工具立即计算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.