前の素数を求める計算
24桁までの整数より小さい最大の素数を求め、入力した数との差と、そのすぐ下にある10個の素数も表示します。
「前の素数」とは、n より小さい最大の素数のことです。素数判定には決定的ミラー–ラビン判定法を使い、許容範囲のすべての数で正確です。
| 番号 | 素数 | n からの差 |
|---|---|---|
| 1 | 997 | 3 |
| 2 | 991 | 9 |
| 3 | 983 | 17 |
| 4 | 977 | 23 |
| 5 | 971 | 29 |
| 6 | 967 | 33 |
| 7 | 953 | 47 |
| 8 | 947 | 53 |
| 9 | 941 | 59 |
| 10 | 937 | 63 |
このツールは前の素数、つまり入力した数より小さい最大の素数を求めます。ハッシュテーブルの大きさを決めるとき、素数の間隔の宿題を確認するとき、2のべき乗や10のべき乗のすぐ下にある素数を法に選ぶときなどに便利です。24桁までの整数を正確に扱い、入力した数のすぐ下にある10個の素数も一覧にします。
使い方
- 2より大きい整数を入力します。カンマも使えるので 1,000,000 でも構いません。
- 前の素数と、入力した数よりどれだけ小さいかを確認します。
- 入力した数自身が素数かどうかを確認します。
- 表で、さらに下にある素数を見ます。
計算式
prevprime(n) = max { p は素数 : p < n }
n − 1 から偶数を飛ばしながら下に数えて、各候補を調べます。候補が底 2、3、5、…、41 のミラー–ラビン判定に合格すれば素数です。この13個の底を使うと、約 3.3 × 10²⁴ 未満のすべての数で誤判定がないので、答えは確率的ではなく確実です。
計算例
n = 1,000,000 のとき、999,999(3で割り切れる)、999,997(= 757 × 1,321)と順に調べ、最初に見つかる素数 999,983 で止まります。差は 1,000,000 − 999,983 = 17 です。さらに下の素数は 999,979 と 999,961 です。
よくある質問
入力した数が素数なら、その数自身が前の素数になりますか?
いいえ。前の素数は必ず入力した数より小さい数です。97 の前の素数は 89 で、ツールは 97 自身が素数であることも示します。
2 に前の素数がないのはなぜですか?
2 は最小の素数なので、2 より小さい素数はありません。n = 3 なら答えは 2 です。
素数の間隔はどれくらい大きくなりますか?
n の近くでの平均的な間隔は約 ln(n) で、100万付近でおよそ14、1兆付近でおよそ28ですが、個々の間隔は大きくばらつき、もっと大きくなることもあります。
どれくらい大きな数まで入力できますか?
24桁までです。この範囲全体で素数判定が決定的なので、結果は正確です。
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/previous-prime-calculator/
このツールを引用する
kakaoCalc. (2026, November 8). 前の素数を求める計算. https://kakao.mobile/ja/tools/previous-prime-calculator/
“前の素数を求める計算.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/previous-prime-calculator/.