最大公約数・最小公倍数計算機とは?
最大公約数(GCD)と最小公倍数(LCM)は、初等数論において最も重要な概念の2つです。中学の分数の約分から、インターネットを安全にする暗号アルゴリズムまで幅広く応用されています。
ユークlidが紀元前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も計算します。
この計算機を使用するタイミング
- 分数を約分する時。
- 定期的な問題を扱う時。
- データ暗号化で。
- 共通分母を見つける時。
- 幾何学的問題で。
- コンピュータサイエンスで。
手順:
- 2つの正の整数 a と b を入力します。
- 整数除算を適用します: a = q×b + r。
- a に b の値を、b に r の値を代入し、r = 0 になるまで繰り返します。
- 最後のゼロでない余りがGCDです。
- 基本恒等式を使って LCM = |a × b| / GCD を計算します。
- 3つ以上の数値の場合は「複数モード」を使用してください。
計算式
ユークリッド互除法:
GCD(a, b) = GCD(b, a mod b) b = 0になるまで
GCDからLCMを求める:
LCM(a, b) = |a × b| / GCD(a, b)
複数の数値の場合:
GCD(a, b, c) = GCD(GCD(a, b), c)
LCM(a, b, c) = LCM(LCM(a, b), c)
ユースケース
- 分数の約分: a/b を GCD(a, b) で割って簡約
- 分母が異なる分数の加算: 分母のLCMを求める
- スケジューリング: 2つの繰り返しイベントが次に一致する时刻を計算
- RSA鍵生成: 指数eがφ(n)と互いに素であることを確認
- 機械工学における歯車比の問題
- タイルパターン設計: 最小の繰り返し単位を求める
主な利点
- 分数の約分に役立つ。
- RSA暗号化で使用される。
- 定期的な予定の問題解決に役立つ。
- 共通分母を見つけるのに使用される。
- コンピュータサイエンスで有用。
- 素数の性質を理解するのに役立つ。
プロのヒント
- 大きい数にはユークリッドの互除法を使おう。
- GCD(a, b) = GCD(b, a mod b)を覚えておこう。
- GCD × LCM = a × bで結果を検証しよう。
- GCD(0, a) = aは任意の正のaについて。
- 分子と分母をGCDで割ろう。
- 複数の数のLCMは順番に計算しよう。
避けるべきよくある間違い
- GCD(0, 0) = 0だと思い込む。
- GCDとLCMを混同する。
- GCDが絶対値を使うことを忘れる。
- 明確なアルゴリズムなしにGCDを計算しようとする。
- GCDは常にLCMより大きいと思い込む。
- GCD × LCM = a × bの検証を忘れる。
重要な用語の説明
- GCD: 両数を割り切る最大の整数
- LCM: 両数で割り切れる最小の正の整数
- 互いに素: GCDが1の2つの数、共通の素因数を持たない
- ユークリッド互除法: 割り算を繰り返してGCDを求める古代のアルゴリズム
- 剰余演算: a mod b は a を b で割った余り
- 整除性: b/a の余りがゼロの場合、a は b を割り切る
関連コンセプト
- ユークリッドの互除法: GCD計算の効率的なアルゴリズム。
- 素因数分解: 数を素因数に分解すること。
- 互いに素な数: GCD = 1の数。
- 公約数: 両方を割り切れる数。
- 公倍数: 両方の倍数表に現れる数。
例
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は最大公約数、LCMは最小公倍数です。GCD = 1なら、その数は互いに素です。

