ユークリッドアルゴリズムで最大公約数(GCD)と最小公倍数(LCM)を段階的に計算します。
最大公約数(GCD)と最小公倍数(LCM)は、初等整数論において最も重要な概念の2つであり、中学校での分数の簡略化からインターネットを守る暗号アルゴリズムまで幅広い応用があります。
紀元前300年頃にユークリッドによって記述されたユークリッドの互除法は、数学で最も古く且つ最も効率的なアルゴリズムの1つです。O(log(min(a,b)))ステップでGCDを計算し、非常に大きな数でも高速に終了します。このアルゴリズムは、GCD(a, b) = GCD(b, a mod b)という恒等式を剰余がゼロになるまで繰り返し適用します。
この計算機は、2つの数に対する完全なユークリッドの互除法をステップごとに表示し、一般化 GCD(a, b, c) = GCD(GCD(a, b), c) を使用して複数の数のリストに対するGCDとLCMも計算します。
GCD(48, 18)を求める:48 = 2×18 + 12 → 18 = 1×12 + 6 → 12 = 2×6 + 0。GCD = 6。LCM = |48×18|/6 = 864/6 = 144。確認:144/48 = 3 ✓、144/18 = 8 ✓。
ユークリッドの互除法を適用してGCD(48, 18)を求める
除算の手順(ユークリッドの互除法)
48 = 2 × 18 + 12 → 18 = 1 × 12 + 6 → 12 = 2 × 6 + 0
GCD(48, 18) = 最後の非ゼロの剰余
LCM = |a × b| / GCD
LCM(48, 18)
• GCD(a, b) × LCM(a, b) = |a × b|
• GCD(a, 0) = a (任意の数はそれ自身で割り切れる)
• GCD(a, b) = 1 の場合、a と b は互いに素である
• ユークリッドの互法則は O(log(min(a,b))) 時間で実行される
• LCMは異なる分母の分数の足し算に使用される