Python の最小公倍数 (LCM)
Python で HCF 関係を使用して 2 つの数値の最小公倍数 (LCM) を求めます。
概要
2 つの整数の最小公倍数 (LCM) は、両方の数値で割り切れる最小の正の整数です。
HCF (GCD) と LCM の間には、「LCM(a, b) = abs(a * b) // GCD(a, b)」という基本的な関係があります。 GCD がわかれば、即座に LCM を計算できます。
この計算は、大きな数値の倍数を反復処理するよりもはるかに高速で、メモリの使用量も少なくなります。
コードと実行の出力
GCD ベースのリダクションを使用した LCM 計算機。
lcm.py
エディターで試してみる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 は任意の大きな整数を処理しますが、それでもベスト プラクティスです。