使い方
- 整数に、1から10¹⁵までの整数を入力します。数の中の空白は使えます。
- 素因数分解と、指数つきの素因数の表を読み取ります。
- 約数の個数、約数の和、素数ですか?を確認します。
- 計算の過程を開き、因数分解の木を、1回の分解ごとにたどります。
因数の求め方
試し割りでは、まず数を2、3、5で割り、次に30と互いに素な数(7、11、13、17、19、23、29など)で、割り切れるたびに割ります。10,000に達するか、次の候補の二乗が残りより大きくなった時点で止めます。
残ったものは、1、素数、または10,000より大きい2つの素因数をもつ合成数のどれかです。素数はミラー・ラビン判定で見分け、合成数はポラードのロー法で、循環の探索によって約数を見つけて分けます。
約数の個数と約数の和
n = p₁^e₁ × p₂^e₂ × … であれば、nの約数の個数は (e₁ + 1) × (e₂ + 1) × … です。約数の和は、各素数の累乗について1 + p + … + p^eを求め、それらを掛け合わせたものです。
素数の約数は、1と自身の2つだけなので、約数の和は素数より1大きい数です。数1の約数は1つだけで、素数ではありません。
n = p₁^e₁ × … × p_k^e_k
約数の個数 = (e₁ + 1) × … × (e_k + 1)
約数の和 = (1 + p₁ + … + p₁^e₁) × … × (1 + p_k + … + p_k^e_k)
このツールが扱わない範囲
- 10¹⁵を超える数、また負の数、小数、分数。
- 多くの数をまとめて因数分解すること。数のリストには、GCDとLCMの計算ツールを使ってください。
- 3.3 × 10²⁴を超える数が素数であることの証明。ここでの判定は、その限界より小さい数では正確です。
計算例:600851475143
試し割りで71、839、1471、6857が一度ずつ取り除かれるため、600851475143 = 71 × 839 × 1471 × 6857です。指数はすべて1なので、約数は2 × 2 × 2 × 2 = 16個です。
約数の和は (1 + 71) × (1 + 839) × (1 + 1471) × (1 + 6857) = 72 × 840 × 1472 × 6858 = 610,544,148,480です。この数は合成数なので、素数ではありません。
| 結果 | |
|---|---|
| 素因数分解 | 71 × 839 × 1471 × 6857 |
| 約数の個数 | 16 |
| 約数の和 | 610,544,148,480 |
| 素数ですか? | いいえ |
よくある質問
素因数分解とは何ですか?
整数を素数の積で書き表すことです。たとえば84 = 2 × 2 × 3 × 7で、これを2の指数2を使って2² × 3 × 7と書きます。
試し割りを10,000で止めるのはなぜですか?
大きな素数では試し割りは遅くなるため、10,000までの割り算のあとは、残りをミラー・ラビン判定で調べ、ポラードのロー法で分けます。10¹⁵より小さい数では、残りの素因数は多くとも3つで、どちらの方法でも速く見つかります。
1は素数ですか?
いいえ。素数の約数はちょうど2つですが、1の約数は1つだけです。そのため、数1は素数でも合成数でもなく、素因数もありません。
素数の判定はどれくらい正確ですか?
3.3 × 10²⁴未満のすべての数について、判定は正確です。基底2から41が、その範囲の数が素数かどうかを決められることが知られているためです。このツールは10¹⁵までの数だけを受け付けます。
約数の個数は何を示しますか?
その数をちょうど割り切るすべての整数の個数で、1と数自身を含みます。指数から求められ、各指数に1を足して掛け合わせます。
入力した数値はサーバーに送られますか?
いいえ。因数分解はブラウザの中で行われ、入力した内容が当サイトに送られることはありません。
出典
- Wikipedia(英語): Integer factorization, with trial division and Pollard's rho
- Wikipedia(英語): Pollard's rho algorithm
- Wikipedia(英語): Miller-Rabin primality test
- Wikipedia(英語): Divisor function, the number and sum of divisors
数値と文章の最終確認日:2026年11月10日火曜日。