素数計算機
整数が素数か合成数かを判定し、因数分解の全手順を確認し、高度な素数ツールを活用できます。
✓ 97 は素数と証明されました:√97 までに約数は存在しません — 正の約数が 1 と自分自身のちょうど 2 個だけ
計算ステップと試し割りの詳細を表示
整数nが素数か確かめるために、nまでのすべての数を割る必要はありません。その数の平方根以下の素数だけを試せば十分です:d ≤ ⌊√n⌋。
素数計算機の仕組み
超高速な応答、厳密な数学的証明、教育的な明快さを追求して構築。
インタラクティブ計算フロー図
各ステージをクリックして詳細な計算プロセスを確認:整数を入力
入力欄に正の整数を入力するか、定義済みサンプルのチップをクリックします。
「判定する」をクリック
平方根までの試し割り法または64ビット決定論的ミラー–ラビン法を実行します。
結果を確認
数学的に証明された判定、割り算のステップ、素因数、近隣の素数を確認できます。
素数ツール一覧
特定の数学的操作や検証のために開発された専用計算機群。
素数ジェネレーター
指定範囲の素数一覧を生成し、CSV形式で瞬時にコピーできます。
ツールを開く →素因数分解
合成数を素数のべき乗積に分解し、インタラクティブな因数ツリーと割り算を表示。
ツールを開く →次と前の素数
指定した数の直前と直後にある最も近い素数を、正確な間隔とともに特定します。
ツールを開く →N番目の素数
数列の順位から素数を検索:第1位(2)から第10,000位(104,729)まで完全網羅。
ツールを開く →素数の総和
BigInt演算を使用して、指定範囲内のすべての素数の合計を厳密に算出します。
ツールを開く →範囲内の素数
2つの境界の間にある素数の個数、密度、双子素数の組を計算・分析します。
ツールを開く →互いに素チェッカー
ユークリッドの除法ステップと幾何学的敷き詰めで最大公約数が1か検証します。
ツールを開く →素数計数関数 π(x)
1億までの素数密度の減少を可視化し、ガウスの素数定理の近似値と比較。
ツールを開く →1–100 素数表
エラトステネスの篩シミュレーターを備えた10×10のインタラクティブグリッド。
ツールを開く →Factor Tree Calculator
Interactive visual factor tree. Watch numbers branch step by step into their prime factors.
ツールを開く →Twin Prime Calculator
Find twin prime pairs (primes that differ by just 2, like 11 and 13) and see how often they appear.
ツールを開く →Prime Gap Calculator
Find the distances between back-to-back prime numbers and spot large gaps.
ツールを開く →Sieve of Eratosthenes
Interactive animated visualizer crossing off multiples step by step to reveal prime numbers.
ツールを開く →Bulk Prime Checker
Check up to 500 numbers at the same time to see which are prime and export to CSV.
ツールを開く →Random Prime Generator
Generate truly random prime numbers with custom digit lengths.
ツールを開く →Prime Number Theorem
Compare the exact count of prime numbers against famous mathematical estimation formulas.
ツールを開く →Goldbach Calculator
Find pairs of prime numbers that add up to any even number you choose.
ツールを開く →Semiprime Calculator
Analyze numbers made by multiplying exactly two prime numbers together (like 15 = 3 × 5).
ツールを開く →Mersenne Prime Calculator
Test huge primes written as 2^p - 1 and explore world-record prime numbers.
ツールを開く →Prime Power Calculator
Test if a number is a prime raised to a power (like 2³ = 8 or 3² = 9).
ツールを開く →Special Prime Checker
Explore fascinating prime families like palindrome primes, twin primes, and mirror primes.
ツールを開く →Prime Distribution & Ulam Spiral
View prime numbers plotted on a visual 2D spiral to discover line patterns.
ツールを開く →RSA Prime Demo
Interactive visual demonstration of how prime numbers lock and protect secret messages online.
ツールを開く →Fraction Prime Factorization
Break down fractions into prime factors and simplify them easily.
ツールを開く →How to Check If a Number Is Prime
Simple algorithms and copyable code examples in Python, JavaScript, C++, Java, and Go.
ツールを開く →素数とは何か?
整数論および算術における基本的かつそれ以上分割できない構成要素。
幾何学的モデル:長方形による素数判定テスト
n個の正方形タイルで1 × nの1列しか作れない場合、nは素数です。幅 > 1の長方形を作れる場合、その数は合成数です。
定義と具体例
数学において、素数(Prime number)とは、1より大きい正の整数で、正の約数が1と自分自身の2つだけである数を指します。
最初の10個の素数は次のとおりです: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29.
1より大きい整数で素数でない数は「合成数」と呼ばれ、より小さな素数の積として表すことができます。
なぜ0と1は素数ではないのか
0は素数でも合成数でもありません:0を0以外の任意の数で割ると余り0となるため、約数が無数に存在します。
1は素数でも合成数でもありません:正の約数が自分自身の1つしかありません。1を素数と認めてしまうと、算術の基本定理の「素因数分解の一意性」が崩壊してしまいます。
Classification map of whole numbers: 0 (zero divisors rule), 1 (unit), Primes (2 factors), and Composites (3+ factors).
素数と合成数の比較
正の整数の2大分類における本質的な違い:
| 項目 | 素数 | 合成数 |
|---|---|---|
| 定義 | 正の約数が 1 と自分自身のちょうど 2 個だけ | 正の約数が 3 個以上ある |
| 約数の個数 | 厳密に 2 個 | 3 個以上 |
| 最小の数 | 2 (唯一の偶数の素数) | 4 (2 × 2) |
| 素因数分解 | その数自身 (p¹) | 素数の累乗の一意な積 (p₁ᵃ × p₂ᵇ …) |
| 偶数の整数 | 2 のみが素数。他のすべての偶数は合成数 | 2 より大きいすべての偶数 (4, 6, 8, 10, 12…) |
| 例 | 2, 3, 5, 7, 11, 13, 97, 101 | 4, 6, 8, 9, 12, 51, 91, 100 |
なぜ2は唯一の偶数素数なのか
偶数は2で割り切れる数です。数「2」は約数が1と2の2つしかなく定義を満たします。しかし2より大きいすべての偶数nは1、2、nで割り切れるため、少なくとも3つの約数を持ちます。
7と9は素数ですか?
7は素数です:約数は1と7のみです。9は素数ではありません:3で割り切れます(3 × 3 = 9)。奇数であることと素数であることは全く異なります!
ある数が素数かどうか調べる方法
古典的な平方根までの割り算の限界と段階的な判定アルゴリズム。
シミュレーター:平方根の境界値と試し割り法
境界値 ⌊√n⌋ によって、素数を証明するために必要な割り算の回数が劇的に減少する様子をご覧ください。
√n までの整除性チェック
√n までの割り算テスト
整数nが素数か確かめるために、nまでのすべての数を割る必要はありません。その数の平方根以下の素数だけを試せば十分です:d ≤ ⌊√n⌋。
成り立つ理由:約数は常にペアで現れます(a × b = n)。もし両方の因数が√nより大きければ、積はnを超えてしまい矛盾します。
具体例:97は素数か?
- √97 ≈ 9.848 を計算します。9 以下の素数のみをテストします。
- テストする素数は 2, 3, 5, 7 です。
- 97 ÷ 2 = 48 余り 1 (割り切れない。末尾が奇数 7)。
- 97 ÷ 3 = 32 余り 1 (割り切れない。各桁の和 9+7=16 は 3 で割り切れない)。
- 97 ÷ 5 = 19 余り 2 (割り切れない。末尾が 0 または 5 ではない)。
- 97 ÷ 7 = 13 余り 6 (割り切れない)。
- ≤ √97 のすべての素数候補で 97 は割り切れませんでした。したがって、97 は素数であることが証明されました!
具体例:なぜ91は合成数なのか?
- √91 ≈ 9.539 を計算します。9 以下の素数のみをテストします。
- テストする素数は 2, 3, 5, 7 です。
- 91 ÷ 2 = 45 余り 1 (割り切れない)。
- 91 ÷ 3 = 30 余り 1 (割り切れない。各桁の和 9+1=10)。
- 91 ÷ 5 = 18 余り 1 (割り切れない。末尾が 0 または 5 ではない)。
- 91 ÷ 7 = 13 余り 0 (割り切れる!)。
- 7 が約数であるため、91 は合成数です:91 = 7 × 13。
暗算による倍数判定ショートカット
簡単な暗算ルールを使えば、多くの合成数候補を素早く除外できます:
- 2 で割り切れる:一の位が偶数 (0, 2, 4, 6, 8)。
- 3 で割り切れる:すべての桁の和が 3 の倍数 (例:51 の場合 5+1=6 なので 51 ÷ 3 = 17)。
- 5 で割り切れる:一の位が 0 または 5。
- 6k ± 1 の法則:3 より大きいすべての素数は 6k − 1 または 6k + 1 の形で表せます。この形の数がすべて素数とは限りませんが、この形でない数は確実に合成数です!
倍数の判定法と素数判定の近道
電卓を使わずに合成数を即座に見分けるための必須の暗算テクニック。
図解:モジュロ6のホイール (6k ± 1)
3より大きいすべての素数は、必ず 6k + 1 または 6k - 1 の形をしています。
| 除数 | 判定法と着眼点 | 適用例 | Live Result |
|---|---|---|---|
| 2 | 一の位が偶数:0, 2, 4, 6, 8 のいずれか。 | 248 は末尾が 8 → 2 で割り切れる | |
| 3 | 各桁の数字の和が 3 で割り切れる。 | 453 → 4+5+3 = 12 (3 で割り切れる) → 3 で割り切れる | |
| 4 | 下 2 桁の数が 4 で割り切れる。 | 3,116 は末尾が 16 (16 ÷ 4 = 4) → 4 で割り切れる | |
| 5 | 一の位が 0 または 5。 | 895 は末尾が 5 → 5 で割り切れる | |
| 6 | 2 の倍数判定(偶数)と 3 の倍数判定(各桁の和)の両方を満たす。 | 732 は偶数かつ 7+3+2 = 12 → 6 で割り切れる | |
| 7 | 一の位を 2 倍して残りの部分から引く。その結果が 7 で割り切れる。 | 672 → 67 − (2×2) = 63 (63 ÷ 7 = 9) → 7 で割り切れる | |
| 8 | 下 3 桁の数が 8 で割り切れる。 | 5,128 は末尾が 128 (128 ÷ 8 = 16) → 8 で割り切れる | |
| 9 | 各桁の数字の和が 9 で割り切れる。 | 2,871 → 2+8+7+1 = 18 (18 ÷ 9 = 2) → 9 で割り切れる | |
| 11 | 各桁の交互和(足す・引く・足す…)が 0 または 11 の倍数。 | 913 → 9 − 1 + 3 = 11 → 11 で割り切れる | |
| 13 | 一の位の 4 倍を残りの上の桁に足す。その和が 13 で割り切れる。 | 299 → 29 + (9×4) = 65 (65 ÷ 13 = 5) → 13 で割り切れる |
6k ± 1 素数ルール
3より大きいすべての素数は、必ず 6k + 1 または 6k - 1 の形をしています。
これが保証される理由: すべての整数は 6 つの形のいずれかに分類できます:6k, 6k+1, 6k+2, 6k+3, 6k+4, 6k+5(これは 6(k+1)−1 と同じ)。
- 6k, 6k+2, 6k+4 は常に偶数(2 で割り切れる)です。
- 6k+3 は常に 3 で割り切れます。
重要な注意: これは必要条件であり、十分条件ではありません。3 より大きいすべての素数はこの形をしていますが、この形の中には合成数も含まれます(例:25 = 6(4)+1 や 35 = 6(6)−1)。候補が素数かどうかは必ず上限付き試し割り法で検証してください。
なぜ素数を生み出す単純な公式は存在しないのか
1772年、レオンハルト・オイラーは、n = 0, 1, 2, ..., 39 のすべての整数に対して素数のみを生成する驚異的な二次多項式 f(n) = n² + n + 41 を発見しました(41, 43, 47, 53, 61, ..., 1601 の40個の連続する素数)。
しかし、n = 40 のとき、この多項式は 40² + 40 + 41 = 1,681 = 41² を生成します。これは、定数でない代数多項式が無限に素数のみを生成し続けることは不可能であることを証明しています。
1から100までの素数表
10×10の視覚的グリッド。エラトステネスの篩シミュレーターで合成数が消去される手順を確認。
1から1,000までの素数一覧
1から1,000の間には正確に168個の素数が存在します。
分布図:100ごとの区間別素数分布
各区間のバーをクリックして該当する素数を絞り込み表示。
1,000までの全168個の素数を閲覧
下の素数をクリックすると計算機に読み込まれます。
素数列における重要マイルストーン
数論および情報科学における極めて重要な境界点となる基準素数。
主要な素数マイルストーン
これらのベンチマーク素数は、数学、計算テスト、および数論における重要な境界を示しています:
#1 → 2
p₁ = 2最小の素数であり、最初の正の素数であり、唯一存在する偶数の素数です。これ以降のすべての素数は奇数の整数です。
#25 → 97
p₂₅ = 97最大の2桁の素数です。1 から 100 の間にはちょうど 25 個の素数が存在し、10進数の2桁の整数全体の 25% を占めます。
#100 → 541
p₁₀₀ = 541節目となる100番目の素数です。最初の100個の素数の到達点であり、この範囲全体での素数密度は 18.5% です。
#1,000 → 7,919
p₁₀₀₀ = 7,9191000番目の素数です。数が大きくなるにつれて素数が徐々にまばらになることを示しています:1,000個の素数を見つけるには 7,919 までの整数が必要です(密度 12.6%)。
#5,000 → 48,611
p₅₀₀₀ = 48,6115000番目の素数です。50,000 の閾値のすぐ下に位置し、約 10.3% の局所密度を示します。
#10,000 → 104,729
p₁₀₀₀₀ = 104,72910,000番目の素数ベンチマークです。当サイトの高速テーブル検索は、サーバー遅延ゼロでこの境界までのすべての素数をカバーしています。
素数計数関数 π(x) と素数密度
数が大きくなるにつれて素数の出現頻度が緩やかに低下する法則と素数定理。
10のべき乗ごとの素数の個数一覧
数が大きくなるにつれて素数はまばらになりますが、それでも無限に存在します。x が大きくなるにつれて、素数定理の近似 x / ln(x) が相対パーセンテージでどのように近づいていくかに注目してください:
| 上限値 (x) | 正確な π(x) | 密度 (%) | ガウス近似値: x / ln(x) | 相対誤差 (%) |
|---|---|---|---|---|
| 10 | 4 | 40.00% | 4.34 | +8.5% |
| 100 | 25 | 25.00% | 21.71 | −13.1% |
| 1,000 | 168 | 16.80% | 144.76 | −13.8% |
| 10,000 | 1,229 | 12.29% | 1,085.74 | −11.7% |
| 100,000 | 9,592 | 9.59% | 8,685.89 | −9.4% |
| 1,000,000 | 78,498 | 7.85% | 72,382.41 | −7.8% |
| 10,000,000 | 664,579 | 6.65% | 620,420.69 | −6.6% |
| 100,000,000 | 5,761,455 | 5.76% | 5,428,681.02 | −5.8% |
素数計数関数 π(x) とは何か?
数論において、π(x) は円周率 π ≈ 3.14159 を指すのではありません。18世紀にカール・フリードリヒ・ガウスをはじめとする数学者たちが、x 以下の素数の正確な個数を表す「素数計数関数」の記号としてギリシャ文字 π(「多数」を意味する plēthos に由来)を採用しました。
代数関数とは異なり、π(x) は x が素数を超えるたびに 1 ずつ増加する階段関数(ステップ関数)です。
素数定理(PNT)の解説
1896年にジャック・アダマールとシャルル=ジャン・ド・ラ・ヴァレ・プーサンによって独立に証明された素数定理は、x が無限大に近づくとき、素数の分布が次の式に従うことを述べています:
この定理は、x の近くでランダムに選んだ整数が素数である確率が約 1 / ln(x) であることを明らかにしています。
指定範囲内の素数を検索
任意の2つの境界値の間にある素数を網羅的に検索、カウントし、BigIntで合計値を算出。
直前・直後の素数を検索
指定した数の最も近くにある前後の素数を特定し、正確な間隔を測定。
厳密な隣接素数と境界値
隣接する素数を求める際、数学的な厳密さのために「厳密に隣接する素数」と「自身を含む上限・下限」を区別する必要があります:
- 厳密に前の素数 (p < n): n より厳密に小さい最大の素数。n = 97 の場合、前の素数は 89 です。
- 厳密に次の素数 (p > n): n より厳密に大きい最小の素数。n = 97 の場合、次の素数は 101 です。
- n 以下の最大の素数 (≤ n): n 自身が素数(97など)の場合、97 以下の最大の素数は 97 です。n が合成数(90など)の場合は 89 です。
ベルトランの仮説と等距離素数
次の素数はどれほど離れている可能性があるでしょうか? 1850年、パフヌティ・チェビシェフはベルトランの仮説を証明しました。任意の整数 n > 3 に対して、常に少なくとも1つの素数 p が存在し、次を満たします:
等距離の同着: 一部の数では、前の素数と次の素数がまったく同じ距離にあります。例えば n = 6 の場合、前は 5(距離 1)、次は 7(距離 1)となり、両方が最も近い素数になります!
ステップ付き素因数分解
あらゆる合成数を素数のべき乗の積へと一意に分解する手順。
インタラクティブな素因数木と割り算のはしご図
任意の整数を入力すると、視覚的な SVG 素因数木(ファクターツリー)とステップごとの割り算のはしご図(連除法)の両方を生成します。
互いに素(Coprime)チェッカー
ユークリッドの互除法を用いて、2つの数が1以外の公約数を持たないか判定。
ユークリッドは、gcd(a, b) を求めることが、a × b の長方形を隙間や重なりなくぴったり敷き詰められる最大の正方形タイルを見つけることと同一であることを発見しました:
ユークリッドの互除法の計算ステップ
2つの合成数が互いに素になることはありますか?
はい、もちろんです!これは初等整数論で最も広く誤解されている概念の1つです。2つの数は、それら自身が素数であるかどうかに関係なく、最大公約数が 1 であれば「互いに素」(coprime)です。
8 = 2³(合成数)と 9 = 3²(合成数)を考えてみましょう。どちらも素数ではありません!しかし、それぞれの素因数分解に共通の素因数がないため、gcd(8, 9) = 1 となり、完全に互いに素となります。
暗号理論において「互いに素」が重要である理由
- オイラーのφ関数 φ(n): n 以下の整数のうち n と互いに素であるものの個数を数えます。素数 p に対しては φ(p) = p − 1 となります。
- RSA鍵生成: 公開指数 e は、法に関する乗法逆元 d が存在するために φ(n) = (p − 1)(q − 1) と厳密に互いに素でなければなりません。
- ハッシュ分散: 互いに素となるハッシュバケットサイズを選択することで、高性能なハッシュテーブルにおけるハッシュの偏り(クラスタリング)を防ぎます。
素数に見える数(合成数の罠)
学生やエンジニアが素数と誤認しやすいトリッキーな合成数。
91 の解剖: 最も有名な偽の素数
認知的盲点(バイアス)
91 は末尾が 1 なので偶数チェック (2) を通過します。各桁の和は 9+1=10 なので 3 も通過します。末尾が 5 でもありません。7×13 は小学校の九九の範囲外であるため、人間は無意識のうちに 91 を素数だと思い込んでしまうのです!
特別な性質を持つ素数の分類
魅惑的な代数的性質を備えたユニークな素数の分類群。
Quick Special-Prime Scanner
Test any prime to see every special mathematical family it belongs to simultaneously.
特別な素数グループ
魅惑的な代数的性質を備えたユニークな素数の分類群。
双子素数 (Twin Primes)
差がちょうど 2 である素数のペア (p, p + 2) です。未解決の有名な「双子素数予想」は、このようなペアが無限に存在すると予想しています。
メルセンヌ素数 (Mersenne)
2ᵖ − 1 の形で表される素数で、指数 p 自身も素数でなければなりません。偶数の完全数と直接結びついており、既知の最大の素数群を形成しています。
ソフィー・ジェルマン素数
素数 p に対して 2p + 1 も素数(安全素数と呼ばれる)となるとき、p をソフィー・ジェルマン素数と呼びます。これらは暗号プロトコルにおいて不可欠な役割を果たします。
回文素数 (Palindromic)
10進数で前から読んでも後ろから読んでも同じになる素数です。驚くべきことに、11 を除いて、すべての回文素数は奇数桁です!
当計算エンジンのアルゴリズム
厳密な数学的証明と完全な透明性を備えた計算パイプライン。
フローチャート:エンジンの判定パイプライン
任意の整数を判定するためにエンジンが実行する決定ツリー。
小さい整数: 試し割り法
1,000,000,000,000 (10¹²) までの入力に対しては、⌊√n⌋ まで 6k ± 1 の数列を用いた上限付き試し割り法を実行します。約数が見つからなければ、素数であることが数学的に証明されます。
範囲リスト: エラトステネスの篩
範囲クエリに対しては、計算量 O(n log log n) の最適化されたビットセット版エラトステネスの篩を使用し、合成数の倍数を正確にフィルタリングします。
大きい整数: 決定的ミラー–ラビン法
2⁶⁴ − 1 (約1844京) までの数に対しては、7つの底 (2, 325, 9375, 28178, 450775, 9780504, 1795265022) を用いた決定的ミラー–ラビン素数判定法を採用しています。これにより確率的誤差のない無条件の決定的確実性が得られます。
完全精度の BigInt 演算
すべての大きな計算は JavaScript ネイティブの BigInt オブジェクトで処理され、2⁵³ − 1 (9,007,199,254,740,991) を超える IEEE-754 64ビット浮動小数点数の丸め誤差を防ぎます。
| 機能 / モード | 計算手法 | 保証範囲 | 証明の確実性 |
|---|---|---|---|
| 素数判定 | Square root check & advanced prime test | Numbers up to 18 quintillion | 決定的証明 (誤差 0%) |
| 素因数 | Step-by-step division test | Numbers up to 1 trillion | 決定的証明 (誤差 0%) |
| N番目の素数 | Fast prime sequence lookup | Up to the 10,000th prime (104,729) | 決定的証明 (誤差 0%) |
| 範囲内の素数 | Prime grid sieve | Ranges up to 10,000 numbers | 決定的証明 (誤差 0%) |
なぜ素数はこれほど重要なのか?
純粋数学の枠を超え、素数は現代社会の暗号通信とセキュリティの根幹を支えています。
図解:RSA暗号の仕組みと教育用デモ
2つの巨大な素数の掛け算が、いかにしてWebセキュリティの一方通行の扉を作るか体験。
Interactive RSA Key Scale Explorer
Compare toy classroom locks with modern banking encryption scales:
Educational demonstration above uses small numbers (like 35) so every exponent step is visible by hand.
すべての合成数は素数を掛け合わせることで作られるため、素数はしばしば「数学の原子」と呼ばれます。しかし、その独特な代数的不可逆性により、デジタルシステム全体においても不可欠な存在となっています。
公開鍵暗号
RSA暗号、SSH鍵、TLS証明書などのセキュリティプロトコルは、「2つの大きな素数の掛け算は簡単だが、その積を素因数分解することは計算上不可能である」という数学的トラップドアに依存しています。
ハッシュテーブルと疑似乱数生成器
ハッシュテーブルのサイズや疑似乱数生成器 (PRNG) では、ハッシュ衝突を最小限に抑え、偏りを防ぎ、メモリバケットを均等に分散させるために、素数を法とする剰余演算が頻繁に使われます。
数論と純粋数学
素数は、リーマン予想、ゴールドバッハ予想、素数ギャップの分布など、科学における最も深遠な未解決の謎の中心にあります。
計算の正確性・参考文献・仕様限界
査読済みアルゴリズム、決定論的判定範囲、完全な情報開示。
Live Browser Engine Self-Test
Verify engine.js directly in your browser against adversarial pseudoprimes, boundaries, and numbers above IEEE-754 float precision.
決定論的素数性の保証
n < 2⁶⁴ (最大 18,446,744,073,709,551,615) のすべての整数に対して、当エンジンは CP-Algorithms および Sorenson & Webster によって証明された7つの決定的底を評価します。このテストは確率ではなく数学的証明であり、擬素数やカーマイケル数が通過することは絶対にありません。
メモリと計算の境界条件
一般的な計算機サイトでは、2⁵³ − 1 (9,007,199,254,740,991) を超えると JavaScript の IEEE 754 浮動小数点丸め誤差が発生します。当エンジンは数字の文字列を直接、任意精度のネイティブ BigInt 型として解析するため、切り捨て誤差ゼロを保証します。
学術文献と参照資料
すべてのデプロイメントは、OEIS の最初の 10,000 個の素数、既知の合成数カーマイケルの罠 (561, 1105, 1729, 2465)、メルセンヌ指数、双子素数、およびユークリッドの互いに素の証明を網羅する自動単体テストスイートに対して検証されています。
学術参考文献および信頼できる情報源
- Crandall, R., & Pomerance, C. (2005): Prime Numbers: A Computational Perspective. 第2版, Springer-Verlag. (ミラー–ラビン法の底、ポラードのロー法、Baillie-PSW テストに関する基礎文献)。
- Sorenson, J., & Webster, J. (2015): Strong Pseudoprimes to Twelve Prime Bases. Mathematics of Computation, 85(301), pp. 2489–2503.
- OEIS: オンライン整数列大辞典 (OEIS): 数列 A000040: 素数 (The Prime Numbers)。
- GIMPS: Great Internet Mersenne Prime Search (GIMPS): 既知の最大素数記録の公式トラッカー。 (2¹³⁶²⁷⁹⁸⁴¹ − 1).
- CP-Algorithms: CP-Algorithms & e-maxx: 決定的ミラー–ラビン素数判定アルゴリズム。
よくある質問(FAQ)
素数とその判定法に関する疑問について、数学的根拠に基づきわかりやすく回答します。
素数とは何ですか?
素数とは、1より大きい自然数で、正の約数が1とその数自身の2個だけである数のことです。代表的な例として、2、3、5、7、11、13、97などがあります。
なぜ0と1は素数に含まれないのですか?
数学の厳密な定義により、素数はちょうど2個の異なる正の約数を持つ必要があります。1の正の約数は1個(自分自身)のみのため条件を満たしません。0は任意の非ゼロ整数で割り切れるため、約数が無数に存在します。
なぜ2は唯一の偶数の素数なのですか?
2より大きいすべての偶数は、1とその数自身のほかに2でも割り切れます(例: 4 = 2×2, 6 = 2×3)。約数を3個以上持つため2より大きい偶数はすべて合成数です。正の約数がちょうど2個の偶数は2だけです。
7と9はどちらも素数ですか?
いいえ。7は約数が1と7のみなので素数ですが、9は1、3、9の3個の約数を持つため合成数です(3 × 3 = 9)。
大きな数が素数かどうかどのように判定しますか?
小さな数値では平方根 ⌊√n⌋ までの素因数で試し割りを行います。64ビット整数に対しては、数学的に証明された7つの基底(2, 325, 9375, 28178, 450775, 9780504, 1795265022)を用いる決定論的ミラー・ラビン判定法で100%の確実性で素数性を検証します。
最大の素数は何ですか?
最大の素数は存在しません。紀元前300年頃にユークリッドが素数が無限に存在することを証明しました。ただし、現在人類が知る最大の素数はGIMPSで発見された41,024,320桁の「2^136,279,841 − 1」です。
互いに素(コプライム)とは何ですか?
2つの整数について、最大公約数(GCD)が1であるとき、それらの数は「互いに素」と呼ばれます。各数が単独で素数である必要はありません。例えば8(2³)と9(3²)はどちらも合成数ですが、gcd(8, 9) = 1のため互いに素です。
1から100までの間に素数は何個ありますか?
1から100までの間にはちょうど25個の素数が存在します(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)。それらの総和は1,060です。
関数電卓(カシオ fx-991ES等)で素因数分解を行うには?
対応機種(fx-991ES PLUS等)で整数を入力し、[=]を押した後、[SHIFT]に続いて[FACT]キーを押します。画面に即座に素因数分解の結果が表示されます。