最大公約数・最小公倍数計算(素因数分解付き)
整数のリストを入力。GCD(ユークリッド互除法)、LCM、各入力の完全な素因数分解を返します。BigIntで任意サイズの整数に対応。
素因数分解
- 12 = 22 × 3
- 18 = 2 × 32
- 24 = 23 × 3
仕組み
GCD: 最大の共通因数
2つの整数のGCDは、両方を余りなく割り切る最大の整数。GCD(12, 18) = 6(6は両方を割り切り、6より大きい数で両方を割り切るものはない)。GCD(7, 13) = 1(共通因数なし、これを「互いに素」という)。
ユークリッド互除法を使用: gcd(a, b) = gcd(b, a mod b)を再帰。約2300年知られており、最速の標準手法のまま。3数以上でも同様: gcd(a, b, c) = gcd(gcd(a, b), c)。
LCM: 最小の共通倍数
LCMは両方の倍数になる最小の正整数。LCM(4, 6) = 12(4と6の両方を割り切る最初の数)。
公式: lcm(a, b) = (a × b) / gcd(a, b)。4と6なら24 / 2 = 12。3数以上: lcm(a, b, c) = lcm(lcm(a, b), c)。
いずれかが0の場合、LCMは0(任意の数が0を割るが「最小の正」は未定義)。本ツールはそのケースで0を返します。
なぜ重要か
分数: 1/4 + 1/6を計算するには、LCM(4, 6) = 12を共通分母として使用。1/4 = 3/12、1/6 = 2/12、和 = 5/12。
スケジューリング: イベントAが4日ごと、Bが6日ごとなら、両方が一致するのはLCM(4, 6) = 12日ごと。
暗号学: GCDベースのアルゴリズム(拡張ユークリッド)はRSA鍵生成と剰余逆元計算の基礎。
音楽理論: 周期3と4のリズムは12拍後に同期(LCM)。
よくある質問
›互いに素の場合は?
GCD = 1、LCM = 全数の積。互いに素は共通素因数がないこと。
›負の数は使える?
使えます。GCD/LCM計算では絶対値で扱います。-12と18はGCD 6、LCM 36(12と18と同じ)。
›0を入れると?
GCD(0, n) = |n|(任意の整数が0を割り、その対ではnが最大)。LCMは慣例的に0。すべてゼロならGCD/LCMは未定義。
›扱える数の最大は?
内部でBigIntを使うので、任意のサイズの整数の計算が正確。実用上の制限は入力速度と画面領域のみ。
›素因数分解はなぜ役立つ?
GCD = 共通素数の積(小さい指数を取る)。LCM = どこかの数に現れる全素数の積(大きい指数を取る)。因数分解で関係が可視化されます。
›GCDとLCMの関係は?
2数の場合: a × b = gcd(a, b) × lcm(a, b)。{a, b, gcd, lcm}の任意3つを知れば4つ目を計算可能。3数以上にはきれいに一般化しない。
›多項式のGCDも計算できる?
本ツールでは無理 — 整数のみ。多項式にはSymPyやMaximaなどのCASを使用。
›データは送信されますか?
送信されません。計算はブラウザ内で完結します。
関連ツール
最終更新: