AZ Tools

素因数分解・GCD・LCM

暮らし

1 つまたは 2 つの正整数を入力。それぞれについて: `p^e × q^f` 形式の素因数分解、すべての約数、その数自体が素数かどうか。両方入力すると、GCD(最大公約数 — 分数の約分に有用)と LCM(最小公倍数 — 共通周期を見つけるのに有用)も得られる。√n までの試し割りは ~10¹² までの数に対して十分速く、すべてブラウザ内で実行。

GCD (最大公約数)

36

LCM (最小公倍数)

2520

360

素因数分解

2^3 × 3^2 × 5

約数 (24)

1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180, 360

252

素因数分解

2^2 × 3^2 × 7

約数 (18)

1, 2, 3, 4, 6, 7, 9, 12, 14, 18, 21, 28, 36, 42, 63, 84, 126, 252

√n までの試し割り。~10¹² までの入力に高速。応答性のため 10⁹ 超では約数スキャンをスキップ。

使い方

  1. フィールド A に数を入力 — 素因数分解、約数、素数判定。
  2. フィールド B に 2 つ目を追加すると GCD・LCM も計算。
  3. 素因数分解をコピー、または約数リストを確認。非常に合成された数では約数リストは最初の 200 個に制限。

よくある質問

最大入力は?
約 10¹²(兆)まで。それ以上では JavaScript が整数精度を失い(Number.MAX_SAFE_INTEGER は 2⁵³ ≈ 9×10¹²)、√n までの試し割りも遅くなる。より大きな数には BigInt と Pollard's rho が必要。
なぜ大きな数で約数リストがない?
CPU 過負荷を避けるため、約数スキャンは n < 10⁹ で打ち切る。素因数分解は最大の素因数まで O(√n) であり、しばしば n よりはるかに小さいため依然動作する。
GCD は何の役に立つ?
分数の約分: 252/360 = ?。GCD(252, 360) = 36 なので 252/360 = 7/10。暗号学(RSA)、2 つのサイクルがいつ一致するかの判定にも使用。
LCM(a, b) = a × b / GCD(a, b)?
はい、常に、正整数について。まさにこの恒等式を使用。直感: LCM は a と b に現れる各素因数の最高冪、GCD は各素因数の最低冪を持ち、掛け合わせると a × b になる。

関連ツール