素数判定機(無料)- 1000桁まで対応・素因数分解も
最大1000桁の数字が素数かどうかを瞬時に判定。素因数分解・前後の素数・試し割りの手順、そしてどの判定法で確定したかまで表示する無料ツールです。登録不要。
1000 未満の素数一覧(全 168 個)
| 2 | 3 | 5 | 7 | 11 | 13 | 17 | 19 | 23 | 29 | 31 | 37 |
| 41 | 43 | 47 | 53 | 59 | 61 | 67 | 71 | 73 | 79 | 83 | 89 |
| 97 | 101 | 103 | 107 | 109 | 113 | 127 | 131 | 137 | 139 | 149 | 151 |
| 157 | 163 | 167 | 173 | 179 | 181 | 191 | 193 | 197 | 199 | 211 | 223 |
| 227 | 229 | 233 | 239 | 241 | 251 | 257 | 263 | 269 | 271 | 277 | 281 |
| 283 | 293 | 307 | 311 | 313 | 317 | 331 | 337 | 347 | 349 | 353 | 359 |
| 367 | 373 | 379 | 383 | 389 | 397 | 401 | 409 | 419 | 421 | 431 | 433 |
| 439 | 443 | 449 | 457 | 461 | 463 | 467 | 479 | 487 | 491 | 499 | 503 |
| 509 | 521 | 523 | 541 | 547 | 557 | 563 | 569 | 571 | 577 | 587 | 593 |
| 599 | 601 | 607 | 613 | 617 | 619 | 631 | 641 | 643 | 647 | 653 | 659 |
| 661 | 673 | 677 | 683 | 691 | 701 | 709 | 719 | 727 | 733 | 739 | 743 |
| 751 | 757 | 761 | 769 | 773 | 787 | 797 | 809 | 811 | 821 | 823 | 827 |
| 829 | 839 | 853 | 857 | 859 | 863 | 877 | 881 | 883 | 887 | 907 | 911 |
| 919 | 929 | 937 | 941 | 947 | 953 | 967 | 971 | 977 | 983 | 991 | 997 |
1000 未満のこれ以外の数はすべて合成数で、1 と自分自身以外の約数を少なくとも 1 つ持ちます。
10 のべき乗ごとの素数の個数
| 以下の範囲 | 素数の個数 π(x) | 素数の割合 |
|---|---|---|
| 10 | 4 | 40% |
| 100 | 25 | 25% |
| 1,000 | 168 | 16.8% |
| 10⁴ | 1,229 | 12.29% |
| 10⁵ | 9,592 | 9.59% |
| 10⁶ | 78,498 | 7.85% |
| 10⁷ | 664,579 | 6.65% |
| 10⁸ | 5,761,455 | 5.76% |
| 10⁹ | 50,847,534 | 5.08% |
| 10¹⁰ | 455,052,511 | 4.55% |
| 10¹² | 37,607,912,018 | 3.76% |
| 10¹⁵ | 29,844,570,422,669 | 2.98% |
π(x) は素数計数関数で、x 以下の素数の個数を表します。割合は少しずつ小さくなっていき(x の付近ではおよそ ln(x) 個に 1 個が素数)、それでもゼロにはなりません。素数は無限に存在するからです。
Tips
- 素数とは、1 より大きい整数のうち、1 と自分自身以外に約数を持たない数です。2, 3, 5, 7, 11, 13, … と続き、この列は終わることがありません。
- 素数かどうかを調べる最も基本的な方法が試し割り法です。2 から √N までの整数で順に割ってみます。√N で止めてよいのは、N = a × b と書けるなら小さい方の因数が必ず √N 以下になるからです。
- 手計算でも多くの数はすぐに除外できます。2 以外の偶数、末尾が 5 の数、各桁の和が 3 の倍数になる数は、いずれも合成数です。また 3 より大きい素数は必ず 6k − 1 か 6k + 1 の形をしています。
- 大きな数では試し割り法は現実的でないため、コンピューターはミラー・ラビン法やBaillie–PSW 法を使います。このページもそれらを実装しているので、最大 1000 桁の数を貼り付けても 1 秒以内に判定できます。
- 1 は素数ではありません(定義に「1 より大きい」という条件があります)。また 2 は唯一の偶数の素数です。それより大きい偶数はすべて 2 で割り切れてしまいます。
よくある質問
余談ですが ― 素数はなぜ重要なのか
素数はしばしば「数の原子」と呼ばれます。算術の基本定理によれば、1 より大きいすべての整数は素数の積としてただ一通りに表せます。つまり素数は、あらゆる整数を組み立てるための、それ以上分解できない部品ということです。上に表示される素因数分解が一意である理由もここにあり、360 は 2³ × 3² × 5 であって、それ以外の書き方はありません。
巨大な数が素数かどうかを「判定する」ことと「素因数分解する」ことは別の問題で、その違いの歴史は知っておくと面白いです。フェルマーの小定理を使えば高速な判定ができますが、どの底を使っても通り抜けてしまう合成数が存在します。その最小の例が 561 で、上のボタンから試せます(このような数をカーマイケル数といいます)。ミラー・ラビン法は途中で 1 の平方根を確認することでこの抜け穴をふさぎ、最初の 13 個の素数を底に使えば、約 3.3 × 10²⁴ 未満のすべての数に対して決定的な判定法になることが証明されています。それを超える範囲では、このページは強リュカ法を追加した Baillie–PSW 法を使います。この判定を通過する合成数はまだ 1 つも見つかっていませんが、証明はされていないため、非常に大きな数の結果は「確率的素数」と表示しています。
この「判定は簡単なのに分解は難しい」という非対称性が、現代の暗号技術を成り立たせています。HTTPS 通信や電子署名をいまも支える RSA 暗号は、大きな素数 2 つを掛け合わせて公開鍵を作ります。その積から元の素数を取り出すことは事実上不可能だと考えられているため、検証は一瞬でできるのに、分解はできないという状態が作れるわけです。このページでもその差を体感できます。1000 桁の数の素数判定はほぼ瞬時に終わりますが、30 桁の素数 2 つを掛けた 60 桁の合成数は、素因数分解しきれずに終わります。
素数には、数学で最も古くから残る未解決問題もあります。11 と 13、あるいは 1,000,000,000,061 と 1,000,000,000,063 のような双子素数が無限に存在するかどうかは、いまだに誰も知りません。素数そのものが尽きないことは紀元前 300 年頃にユークリッドが証明しているのに、です。記録更新の探索も続いています。GIMPS プロジェクトの参加者たちは 2^p − 1 という形のメルセンヌ数を手分けして調べており、現在知られている最大の素数は 2024 年に見つかった 2¹³⁶²⁷⁹⁸⁴¹ − 1 で、41,024,320 桁もあります。