MCPで接続 →

計算を入力してください

公式

広告

結果

Prime[100] — the 100th prime number
541
素数の順番 n 100
n番目の素数 Prime[n] 541

このツールでできること

これは素数に関する3つの機能を1つにまとめた計算ツールです。(1) n番目の素数 \(\text{Prime}[n] = p_n\) を求める、(2) 指定した整数が素数かどうかを判定し、素数であれば何番目の素数かを表示する、(3) 最初のN個の素数を一覧表示する、という3つの使い方ができます。最初の素数は 2, 3, 5, 7, 11, 13, 17, ... と続きます。素数とは、1より大きい整数のうち、正の約数が1と自分自身しかないもののことです。

20までの素数を強調した数直線
数直線上に素数(2, 3, 5, 7, 11, 13, 17, 19)を表示。合成数はそのまま。

使い方

まずモードを選びます。n番目の素数モードでは、1から数えた順番 \(n\)(例:100)を入力すると、\(\text{Prime}[100] = 541\) を返します。素数判定モードでは、任意の整数(例:97)を入力すると、その数が素数かどうかを判定し、素数であれば素数列の中での順番 \(n\) を表示します。最初のN個の素数を一覧表示モードでは、欲しい素数の個数を入力すると、カンマ区切りの一覧と、その中で最大の素数 \(\text{Prime}[N]\) を返します。

計算の仕組み

素数判定には試し割り法を使います。ある数 \(p\) が素数であるのは、次のように2から \(p\) の平方根までの間に約数が1つも存在しない場合です。

$$p \text{ prime} \iff p \ge 2 \;\wedge\; \nexists\, d \in [2,\sqrt{p}\,]: d \mid p$$

まず2で割れるかを確認したあとは、\(d \times d \le p\) を満たす範囲で奇数の約数 \(d\) だけを調べればよく、高速かつ浮動小数点誤差も避けられます。n番目の素数は、2, 3, 4, ... と候補を順に走査し、素数を数え上げてその個数が \(n\) に達したところで求まります。素数 \(m\) の順番は \(\pi(m)\)、つまり \(m\) 以下の素数の個数に等しくなります。

広告
添字 n を n 番目の素数に対応させる図
各添字 \(n\) はその素数 \(p_n\) に対応:1→2、2→3、3→5、4→7。

具体例

97 を判定してみましょう。97は奇数なので、\(d = 3, 5, 7, 9\) で割れるかを試します(\(9^2 = 81 \le 97\) ですが、\(11^2 = 121 > 97\) のため、ここまでで十分です)。いずれでも割り切れないので、97は素数です。97以下の素数を数えると 2, 3, 5, ..., 97 で25個になるため、97は25番目の素数です(\(\text{primeIndex} = 25\))。

よくある質問

1は素数ですか?いいえ。定義上、素数は1より大きい数でなければなりません。したがって1は素数でも合成数でもありません。

唯一の偶数の素数は?2だけが偶数の素数です。それ以外の偶数はすべて2で割り切れます。

100番目の素数は?\(\text{Prime}[100] = 541\) です。ほかの目安として、\(\text{Prime}[10] = 29\)、\(\text{Prime}[25] = 97\)、\(\text{Prime}[50] = 229\)、\(\text{Prime}[223] = 1409\) があります。

最終更新: