素数判定ツール(素因数分解付き)
10^18以下の非負整数を入力。試し割り法で素数判定(10^15程度まで合理的時間内に決定的判定可能)、合成数なら素因数分解を表示します。
- 前の素数
- 89
- 次の素数
- 101
仕組み
素数とは
素数は1より大きい自然数で、1とその数自身以外の正の約数を持たないもの。最初の素数: 2、3、5、7、11、13、17、19、23、29、31、37。整数算術の「原子」 — 2以上の整数すべては素数の積として一意に表せます(算術の基本定理)。
1は慣例的に素数ではない。0と負の数も素数ではない。2は唯一の偶数素数 — 他の偶数はすべて2で割れるため合成数。
判定の仕組み
試し割り法を使用: 2で割れるか、次に3、5、7、11、…と√nまで確認。どれでも割り切れなければnは素数。6k±1最適化を使い、6k+1または6k-1の形(3超のすべての素数はこの形)の候補のみ確認、検査数を1/3に削減。
試し割り法はnが10^15程度までは高速(サブ秒)。それ以上はミラー・ラビン(確率的)やAKS(決定的)など高度なテストが必要。極端な入力でブラウザがフリーズしないよう10^18で制限。
素数が重要な理由
暗号学: RSA暗号は約1000桁の素数2つを掛けて分解困難な数を生成。安全性は大きな数の素因数分解の困難さに依存 — 数千年研究された課題。
数学教育: 素因数分解は基礎。最大公約数、最小公倍数、剰余、分数、数論の概念すべてが素因数構造に基づきます。
コンピュータサイエンス: ハッシュテーブルサイズ、乱数生成器、多くのアルゴリズムが素数の特異な可除性を活用。
よくある質問
›1は素数?
いいえ。1は「単元」であり素数ではない。素数はちょうど2つの異なる正の約数(1とその数自身)を持ちますが、1は1つしかない。
›0は素数?
いいえ。素数は1より大きい整数です。
›2は素数?
はい — 2は唯一の偶数素数。他のすべての偶数は1とその数自身以外に2を約数に持ちます。
›次の素数はどう求める?
n+1から増加させて各ステップで素数判定。任意の数の n × ln(n) 以内に必ず素数が存在するので、大きな入力でも素早く終了します。
›なぜ最大10^18?
JavaScript BigIntはより大きな数も扱えますが、試し割り法が遅くなります。10^18は典型的入力でサブ秒判定が安全な境界。それ以上はSymPyやMathematicaなど専用ツールを。
›1000桁素数を確認できる?
本ツールでは無理 — 試し割り法はその規模で遅すぎます。暗号学は1024ビット(約300桁)素数にミラー・ラビン確率的テストを使用。
›メルセンヌ素数とは?
2^p − 1の形の素数。2025年現在、51個のみ知られています。既知最大の素数(M82589933)は約2,500万桁のメルセンヌ素数。
›データは送信されますか?
送信されません。計算はブラウザ内で完結します。
関連ツール
最終更新: