Python 最小公倍数 (LCM)

在 Python 中使用 HCF 关系求两个数字的最小公倍数 (LCM)。

在编辑器中尝试

概述

两个整数的最小公倍数 (LCM) 是可被两个数字整除的最小正整数。

HCF (GCD) 和 LCM 之间存在基本关系:`LCM(a, b) = abs(a * b) // GCD(a, b)`。一旦知道 GCD,我们就可以立即计算 LCM。

与迭代较大数字的倍数相比,此计算速度更快且占用的内存更少。

代码和执行输出

使用基于 GCD 的归约的 LCM 计算器。

def find_gcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

def find_lcm(a, b):
    if a == 0 or b == 0:
        return 0
    return abs(a * b) // find_gcd(a, b)

print("LCM of 12 and 18 is:", find_lcm(12, 18))
print("LCM of 5 and 7 is:  ", find_lcm(5, 7))
端子输出
LCM of 12 and 18 is: 36
LCM of 5 and 7 is:   35

逐步实施

  • 调整定期后台作业和 cron 运行
  • 分数加法和减法分母缩放
  • 调度冲突检测

常见问题解答

为什么在相乘之前先除以 GCD?

首先除法可以防止具有固定整数大小的语言中潜在的整数溢出。虽然 Python 可以处理任意大的整数,但这仍然是最佳实践。

相关主题