素数判定計算機
非負整数が素数かどうかを判定し、前後で最も近い素数を求めます。
数が素数かどうかを判定
一兆以下の非負整数を入力してください。
素数について
素数とは、一より大きく、正の約数が一とその数自身のちょうど二つである整数です。一より大きく、それ以外の約数も持つ数は合成数です。七は一と七でしか割り切れないので素数ですが、九は三という約数もあるので合成数です。ゼロと一は素数でも合成数でもありません。この定義は数論の重要な結果を保ち、素因数分解の一意性を維持します。
この計算機は約数を探すことで素数判定を行います。二より大きい偶数はすぐに除外できます。奇数の候補については、平方根以下の奇数の約数だけを調べれば十分です。合成数がaとbの積なら、少なくとも一方は平方根以下でなければなりません。両方が平方根より大きいと、積が元の数を超えてしまうためです。この境界まで約数が見つからなければ、素数であると証明できます。
結果には、最も近い小さい素数と大きい素数も表示します。それぞれの方向に整数を順番に調べ、素数に到達するまで探索します。二は最初の素数なので、それより小さい素数はありません。素数の間隔は一定ではなく、差が二の双子素数もあれば、隣同士でも大きく離れた素数もあります。ユークリッドの古典的な証明が示すように素数列は終わらないため、どの整数よりも大きい素数が必ず存在します。
一より大きいすべての整数は素数の積に一意に分解できるため、素数は算術の中心となります。分数の約分、最大公約数の計算、合同算術、多くの整除性の議論を支えています。現代の公開鍵暗号は、大きな素数や計算が困難な逆問題に基づく演算を使います。ハッシュテーブル、ランダム化手法、誤り訂正符号、周期的なパターンにも素数の性質が利用されます。
手計算では、まず二、三、五で割り切れるかを調べ、その後に平方根以下の素数の約数候補を調べます。整除性の規則で確認を速められますが、適度な大きさの数では試し割りが基本の証明方法です。この計算機は統計的な推定ではなく正確な整数の剰余計算を使うため、対応範囲内の答えはすべて確定的です。
JavaScriptの通常の数値型は安全な整数の上限までしか整数を正確に表せないため、入力はその範囲に制限しています。暗号用の極めて大きな候補数には、Miller-Rabin法とさらに強い証明法など、専用の多倍長整数アルゴリズムが必要です。学習、約数の確認、数列の探索、日常的な数論には、ここで使う正確な平方根までの方法が分かりやすく信頼できます。非負整数を入力して分類と前後の最も近い素数を確認してください。
素数の例
素数の正の約数はちょうど二つですが、合成数にはそれより多くあります。
| 整数 | 分類 | 理由 |
|---|---|---|
| 1 | 素数でも合成数でもない | 一の正の約数は一つだけです。 |
| 2 | 素数 | 二は唯一の偶数の素数です。 |
| 29 | 素数 | 二から平方根までのどの整数でも割り切れません。 |
| 91 | 合成数 | 七と十三の積は九十一です。 |
素数判定計算機の使い方
- 判定したい非負整数を入力します。
- 「判定する」を選び、平方根までの約数を調べます。
- 素数かどうかの判定結果を確認します。
- 表示された前後の素数を数列や区間の検討に活用します。
素数判定計算機のよくある質問
一は素数ですか?
いいえ。一は正の約数がちょうど二つではなく一つだけなので、素数でも合成数でもありません。
二は素数ですか?
はい。正の約数は一と二だけです。また、唯一の偶数の素数でもあります。
負の数も素数になりますか?
初等数学の標準的な定義では、素数は一より大きい正の整数です。負の整数にも素因数はありますが、ここではそれ自体を素数とは呼びません。
平方根までしか調べないのはなぜですか?
どの合成数にも、少なくとも一方が平方根以下となる因数の組があります。そこまでに約数がなければ、対応する小さい約数を持たない大きい約数も存在できません。
素数は無限にありますか?
はい。有限の一覧ですべての素数を列挙できないことをユークリッドが証明しました。完全だと仮定した一覧の素数を掛け合わせて一を足すと、必ず一覧にない素因数が必要な数になります。