MCPで接続 →

計算を入力してください

公式

Show calculation steps (1)
  1. LCM (from GCD)

    LCM (from GCD): ユークリッドの互除法(GCD)計算機

    LCM is derived as the product of a and b divided by their GCD.

広告

結果

最大公約数
12
gcd(48, 36)
最大公約数(GCD) 12
最小公倍数(LCM) 144

ユークリッドの互除法とは?

ユークリッドの互除法は、紀元前300年ごろにギリシャの数学者ユークリッドが記した、現存する最古のアルゴリズムのひとつです。2つの整数の最大公約数(GCD)、つまり両方を余りなく割り切れる最大の数を求めます。この計算機は、任意の2つの非負整数にこのアルゴリズムを適用し、あわせて最小公倍数(LCM)も求めます。

使い方

ab の欄に2つの数を入力して実行するだけです。メインの結果として最大公約数(GCD)を、補足の値として最小公倍数(LCM)を表示します。入力する順番は結果に影響しません — \(\gcd(48, 36)\) と \(\gcd(36, 48)\) は同じ答えになります。負の数は絶対値として扱われ、一方が0の場合はもう一方の数がそのままGCDになります。

計算式の仕組み

このアルゴリズムは、ひとつのシンプルな性質に基づいています。ab の公約数は、その余り a mod b も必ず割り切る、という点です。そこで、大きいほうの数を余りに置き換える操作を繰り返します。

$$\gcd(a,b) = \gcd(b,\, a \bmod b), \quad \gcd(a,0) = a$$ そして基底条件は \(\gcd(a, 0) = a\) です。

各ステップで数は急速に小さくなるため、非常に大きな値でもわずか数回の計算で答えが出ます。最小公倍数(LCM)は $$\operatorname{lcm}(a,b) = \frac{a \times b}{\gcd(a,b)}$$ で求められます。

2つの数を最大公約数まで縮める割り算ステップの連鎖
各ステップで余りが0になるまで \((a, b)\) を \((b, a \bmod b)\) に置き換えます。

計算例

\(\gcd(48, 36)\) を求めてみましょう。

$$48 \bmod 36 = 12 \rightarrow \gcd(36, 12)$$ $$36 \bmod 12 = 0 \rightarrow \gcd(12, 0) = 12$$

よって最大公約数は12、最小公倍数は $$\operatorname{lcm} = \frac{48 \times 36}{12} = \frac{1728}{12} = 144$$ となります。

正方形に分割された長方形が最大公約数を最大の敷き詰め正方形として示す図
幾何学的には、最大公約数は a×b の長方形を敷き詰める最大の正方形の辺です。

よくある質問

両方の数が0のときは? 0と0の最大公約数は、このツールでは0と定義しています。正の公倍数が存在しないため、最小公倍数も0になります。

なぜ約数を一つずつ調べるより速いの? すべての約数を列挙する代わりに、余りを使った近道で問題のサイズを各ステップごとに大きく縮めるからです。一般的に対数時間で処理できます。

とても大きな数でも計算できる? はい。ユークリッドの互除法は桁数の多い数でも効率的で、必要な剰余計算の回数はごくわずかです。

最終更新: