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 可以處理任意大的整數,但這仍然是最佳實踐。

相關主題