名前のついた素数コレクション 〜Haskellを添えて〜

こんにちは｜こんばんは。カエルのアイコンで活動しております @kyamaz :frog: です。

## はじめに
2024年8月、暑い夏の日が続いております。夏休みの自由研究の時期です。なにか収集してそれをまとめて自由研究にする方たちも多いと思います。そんな課題の例として「素数収集」を本稿ではしてみたいと思います。
素数には「名前のついた素数」があります。特に、名称に人名がついた素数は多く、以下に挙げる参考サイトにも解説があります。

https://club.informatix.co.jp/?p=4568

:frog:もこれまで $10 (+\alpha)$ 回に渡って短いエントリを投稿してきました。これまでのエントリは脚注にリンクを貼っておきます。[^ref1][^ref2][^ref3][^ref4][^ref5][^ref6][^ref7][^ref8][^ref9][^ref10][^ref11][^ref12]
本稿では、これまでの投稿を含みつつ、名前がついた素数を羅列して紹介していきます。ここで紹介した以外にも、:frog: が探せていないものもあるかと思いますが、可能な限り多く紹介していきたいと思います。

なお、このあとプログラムでそれぞれの素数の列を求める例を示しますが、その事前準備として素数列 **p**、[素数階乗](https://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0%E9%9A%8E%E4%B9%97) **p#**(ここでは **p##** で定義)、[確率的素数](https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%9A%84%E7%B4%A0%E6%95%B0)を判定する関数（**is_prime'**）、および階乗（**fact**）、順列関数（**oerm**）組合せ関数（**comb**）、ベルヌーイ数列（**b_n**）を定義しておきます。

```haskell: 素数列 p, 素数階乗 p#(ここでは p## で定義)
p=2:3:5#p;n#x@(m:p:y)=[n|gcd m n<2]++(n+2)#last(x:[m*p:y|p^2-3<n])
p## (n :: Integer) | n<=0 = 1 | otherwise = (p!!(fromEnum (n-1))) * (p## (n-1))
```
```haskell: 素数判定（フェルマーテスト is_prime'）
exp_mod a n = iter a (n-1) n where iter a n base | n == 1 = a | even n = (iter a (n `div` 2) base) ^ 2 `mod` base | otherwise = a * (iter a ((n-1) `div` 2) base) ^ 2 `mod` base
is_prime' n | n<=1 = False | otherwise = and $ map (\a -> test n a) $ takeWhile (<n) [2,3,5,7,11,13,17,19] where test n a | gcd n a == 1 = (1 == exp_mod a n) | otherwise = False
```
```haskell: 階乗（fact）順列（perm）組合せ（comb）の計算
fact n | n<=0 = 1 | otherwise = n * fact (n-1)
perm n m | n<m = 1 | n<=0 = 1 | m<=0 = 1 | otherwise = n * perm (n-1) (m-1)
comb n m | n<m = 1 | n<=0 = 1 | m<=0 = 1 | otherwise = perm n m `div` (fact m)
```
```haskell: ベルヌーイ数の数列
import Data.Ratio
b_n = map head . iterate (b' 1) . map (\i->1%(i+1)) $ enumFrom 0 where b' n ms = case ms of [_] -> []; (x:y:xs) -> (n%1)*(x-y) : b' (n+1) (y:xs)
```

それでは、以下に「名前のついた素数」を順不同で列挙していきます。
それぞれの項では「定義」、「オンライン整数列大辞典」のリンク、「定義を満たす既知の素数」の例、「出力するプログラム例」とその「出力結果」を定型化して記載するようにします。

## スーパー素数 ｜ 超素数
<dl><dt>定義</dt><dd>

:::note info
素数の数列における素数番目の素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A006450
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 5, 11, 17, 31, 41, 59, 67, 83, 109, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = map (\n->p!!(n-1)) p
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,5,11,17,31,41,59,67,83,109,127,157,179,191,211,241,277,283,331,353,367,401,431,461,509,547,563,587,599,617,709,739,773,797,859,877,919,967,991,1031,1063,1087,1153,1171,1201,1217,1297,1409,1433,1447,1471,1499,1523,1597,1621,1669,1723,1741,1787,1823,1847,1913,2027,2063,2081,2099,2221,2269,2341,2351,2381,2417,2477,2549,2609,2647,2683,2719,2749,2803,2897,2909,3001,3019,3067,3109,3169,3229,3259,3299,3319,3407,3469,3517,3559,3593,3637,3733,3761,3911]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E7%B4%A0%E6%95%B0

## スーパースーパー素数 ｜ 超々素数
<dl><dt>定義</dt><dd>

:::note info
素数の数列における素数番目の素数列における素数番目の素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A038580
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 11, 31, 59, 127, 179, 277, 331, 431, 599, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = map pth $ map pth p where pth n = p!!(n-1)
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[5,11,31,59,127,179,277,331,431,599,709,919,1063,1153,1297,1523,1787,1847,2221,2381,2477,2749,3001,3259,3637,3943,4091,4273,4397,4549,5381,5623,5869,6113,6661,6823,7193,7607,7841,8221,8527,8719,9319,9461,9739,9859,10631,11743,11953,12097,12301,12547,12763,13469,13709,14177,14723,14867,15299,15641,15823,16519,17627,17987,18149,18311,19577,20063,20773,20899,21179,21529,22093,22811,23431,23801,24107,24509,24859,25423,25667,25703,25919,25943,26083,26177,26293,26437,26539,26591,26683,26881,27043,27107,27299,27427,27541,27791,27809,28183]
```
</dd></dl>

## 平衡素数
<dl><dt>定義</dt><dd>

:::note info
1つ前の素数と1つ後の素数の算術平均に等しい素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A006562
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
等差数列における3つの連続した素数（CPAP-3 と呼ばれる）
$$\begin{flalign}&
5, 53, 157, 173, 211, 257, 263, 373, 563, 593, \dots
&\\ \end{flalign}$$

（http://primerecords.dk/cpap.htm#k3 より）

$$\begin{flalign}&
p_n=1213266377 \times 2^{35000}+2430-1, \tag{2014年現在、既知のCPAP-3としての最大} &\\\\&
p_{n-1}=p_n - 2430, p_{n+1} = p_n + 2430 &\\\\&
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'= map (\(_,b,_)->b) $ filter (\(a,b,c) -> 2*b == (a+c)) $ zip3 p (tail p) (tail (tail p))
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[5,53,157,173,211,257,263,373,563,593,607,653,733,947,977,1103,1123,1187,1223,1367,1511,1747,1753,1907,2287,2417,2677,2903,2963,3307,3313,3637,3733,4013,4409,4457,4597,4657,4691,4993,5107,5113,5303,5387,5393,5563,5807,6073,6263,6317,6323,6367,6373,6863,6977,7523,7583,7823,7841,8117,8713,8747,9397,9473,9871,10253,10607,10657,10853,11299,11411,11497,11731,11807,11903,11933,12497,12547,12583,12647,12653,12841,12973,13043,13177,13457,13463,14543,14747,14753,15161,15193,15313,15467,15767,15797,15803,15907,15913,16097]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E5%B9%B3%E8%A1%A1%E7%B4%A0%E6%95%B0


## 強素数
<dl><dt>定義</dt><dd>

:::note info
1つ前の素数と1つ後の素数の算術平均よりも大きい素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A051634
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
11, 17, 29, 37, 41, 59, 67, 71, 79, 97, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'= map (\(_,b,_)->b) $ filter (\(a,b,c) -> 2*b > (a+c)) $ zip3 p (tail p) (tail (tail p))
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[11,17,29,37,41,59,67,71,79,97,101,107,127,137,149,163,179,191,197,223,227,239,251,269,277,281,307,311,331,347,367,379,397,419,431,439,457,461,479,487,499,521,541,557,569,587,599,613,617,631,641,659,673,701,719,727,739,751,757,769,787,809,821,827,853,857,877,881,907,929,937,967,991,1009,1019,1031,1049,1061,1087,1091,1117,1151,1163,1181,1213,1229,1249,1277,1289,1297,1301,1319,1361,1399,1423,1427,1447,1451,1471,1481]
```
</dd></dl>

https://en.wikipedia.org/wiki/Strong_prime

## 弱素数
<dl><dt>定義</dt><dd>

:::note info
1つ前の素数と1つ後の素数の算術平均よりも小さい素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A051635
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 7, 13, 19, 23, 31, 43, 47, 61, 73, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'= map (\(_,b,_)->b) $ filter (\(a,b,c) -> 2*b < (a+c)) $ zip3 p (tail p) (tail (tail p))
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,7,13,19,23,31,43,47,61,73,83,89,103,109,113,131,139,151,167,181,193,199,229,233,241,271,283,293,313,317,337,349,353,359,383,389,401,409,421,433,443,449,463,467,491,503,509,523,547,571,577,601,619,643,647,661,677,683,691,709,743,761,773,797,811,823,829,839,859,863,883,887,911,919,941,953,971,983,997,1013,1021,1033,1039,1051,1063,1069,1093,1097,1109,1129,1153,1171,1193,1201,1217,1231,1237,1259,1279,1283]
```
</dd></dl>

## ピタゴラス素数
<dl><dt>定義</dt><dd>

:::note info
$ p = 4n + 1$ の形となる素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A002144
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 13, 17, 29, 37, 41, 53, 61, 73, 89, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = [n|n<-p, 0 == mod (n-1) 4]
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[5,13,17,29,37,41,53,61,73,89,97,101,109,113,137,149,157,173,181,193,197,229,233,241,257,269,277,281,293,313,317,337,349,353,373,389,397,401,409,421,433,449,457,461,509,521,541,557,569,577,593,601,613,617,641,653,661,673,677,701,709,733,757,761,769,773,797,809,821,829,853,857,877,881,929,937,941,953,977,997,1009,1013,1021,1033,1049,1061,1069,1093,1097,1109,1117,1129,1153,1181,1193,1201,1213,1217,1229,1237]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%94%E3%82%BF%E3%82%B4%E3%83%A9%E3%82%B9%E7%B4%A0%E6%95%B0

## メルセンヌ素数
<dl><dt>定義</dt><dd>

:::note info
$n$ が素数のとき $ p = 2^n - 1$ が素数となる $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A000668
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A000043
$$\begin{flalign}&
2, 3, 5, 7, 13, 17, 19, 31, 61, 89, \dots, 82589933,
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 7, 31, 127, 8191, 131071, 524287, 2147483647,&\\& 2305843009213693951, 618970019642690137449562111,  \dots &\\&
2^{82589933}-1 \tag{現在発見されている最大}
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-p, let q=2^n-1, is_prime' q]
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(2,3),(3,7),(5,31),(7,127),(13,8191),(17,131071),(19,524287),(31,2147483647),
(61,2305843009213693951),(89,618970019642690137449562111),
(107,162259276829213363391578010288127),
(127,170141183460469231731687303715884105727),
(521,6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151),
(607,531137992816767098689588206552468627329593117727031923199444138200403559860852242739162502265229285668889329486246501015346579337652707239409519978766587351943831270835393219031728127),
(1279,10407932194664399081925240327364085538615262247266704805319112350403608059673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959420547689811211693677147548478866962501384438260291732348885311160828538416585028255604666224831890918801847068222203140521026698435488732958028878050869736186900714720710555703168729087),
(2203,1475979915214180235084898622737381736312066145333169775147771216478570297878078949377407337049389289382748507531496480477281264838760259191814463365330269540496961201113430156902396093989090226259326935025281409614983499388222831448598601834318536230923772641390209490231836446899608210795482963763094236630945410832793769905399982457186322944729636418890623372171723742105636440368218459649632948538696905872650486914434637457507280441823676813517852099348660847172579408422316678097670224011990280170474894487426924742108823536808485072502240519452587542875349976558572670229633962575212637477897785501552646522609988869914013540483809865681250419497686697771007),
(2281,446087557183758429571151706402101809886208632412859901111991219963404685792820473369112545269003989026153245931124316702395758705693679364790903497461147071065254193353938124978226307947312410798874869040070279328428810311754844108094878252494866760969586998128982645877596028979171536962503068429617331702184750324583009171832104916050157628886606372145501702225925125224076829605427173573964812995250569412480720738476855293681666712844831190877620606786663862190240118570736831901886479225810414714078935386562497968178729127629594924411960961386713946279899275006954917139758796061223803393537381034666494402951052059047968693255388647930440925104186817009640171764133172418132836351),
(3217,259117086013202627776246767922441530941818887553125427303974923161874019266586362086201209516800483406550695241733194177441689509238807017410377709597512042313066624082916353517952311186154862265604547691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288074545677907941037288235820705892351068433882986888616658650280927692080339605869308790500409503709875902119018371991620994002568935113136548829739112656797303241986517250116412703509705427773477972349821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852426431208737266591962061753535748892894599629195183082621860853400937932839420261866586142503251450773096274235376822938649407127700846077124211823080804139298087057504713825264571448379371125032081826126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937584782292237144339628858485938215738821232393687046160677362909315071),
(4253,190797007524439073807468042969529173669356994749940177394741882673528979787005053706368049835514900244303495954950709725762186311224148828811920216904542206960744666169364221195289538436845390250168663932838805192055137154390912666527533007309292687539092257043362517857366624699975402375462954490293259233303137330643531556539739921926201438606439020075174723029056838272505051571967594608350063404495977660656269020823960825567012344189908927956646011998057988548630107637380993519826582389781888135705408653045219655801758081251164080554609057468028203308718724654081055323215860189611391296030471108443146745671967766308925858547271507311563765171008318248647110097614890313562856541784154881743146033909602737947385055355960331855614540900081456378659068370317267696980001187750995491090350108417050917991562167972281070161305972518044872048331306383715094854938415738549894606070722584737978176686422134354526989443028353644037187375385397838259511833166416134323695660367676897722287918773420968982326089026150031515424165462111337527431154890666327374921446276833564519776797633875503548665093914556482031482248883127023777039667707976559857333357013727342079099064400455741830654320379350833236245819348824064783585692924881021978332974949906122664421376034687815350484991),
(4423,285542542228279613901563566102164008326164238644702889199247456602284400390600653875954571505539843239754513915896150297878399377056071435169747221107988791198200988477531339214282772016059009904586686254989084815735422480409022344297588352526004383890632616124076317387416881148592486188361873904175783145696016919574390765598280188599035578448591077683677175520434074287726578006266759615970759521327828555662781678385691581844436444812511562428136742490459363212810180276096088111401003377570363545725120924073646921576797146199387619296560302680261790118132925012323046444438622308877924609373773012481681672424493674474488537770155783006880852648161513067144814790288366664062257274665275787127374649231096375001170901890786263324619578795731425693805073056119677580338084333381987500902968831935913095269821311141322393356490178488728982288156282600813831296143663845945431144043753821542871277745606447858564159213328443580206422714694913091762716447041689678070096773590429808909616750452927258000843500344831628297089902728649981994387647234574276263729694848304750917174186181130688518792748622612293341368928056634384466646326572476167275660839105650528975713899320211121495795311427946254553305387067821067601768750977866100460014602138408448021225053689054793742003095722096732954750721718115531871310231057902608580607)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%AB%E3%82%BB%E3%83%B3%E3%83%8C%E6%95%B0#%E3%83%A1%E3%83%AB%E3%82%BB%E3%83%B3%E3%83%8C%E7%B4%A0%E6%95%B0

## 二重メルセンヌ素数
<dl><dt>定義</dt><dd>

:::note info
$n$ が素数のとき $ p = 2^{2^n - 1} - 1$ が素数となる $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A077586
</dd>
<dt>定義を満たす $n$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 7, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
7, 127, 2147483647, 170141183460469231731687303715884105727, 
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-p, let q=2^(2^n-1)-1, is_prime' q]
take 5 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(2,7),(3,127),(5,2147483647),(7,170141183460469231731687303715884105727)^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E4%BA%8C%E9%87%8D%E3%83%A1%E3%83%AB%E3%82%BB%E3%83%B3%E3%83%8C%E6%95%B0

## フェルマー素数
<dl><dt>定義</dt><dd>

:::note info
$p = 2^{2^n}+1 (n \ge 0, n \in \mathbb{N})$ で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A019434
</dd>
<dt>定義を満たす $n$ </dt><dd>
$$\begin{flalign}&
0,1,2,3,4
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>

（既知の範囲においては５個のみ）
$$\begin{flalign}&
3, 5, 17, 257, 65537
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = filter is_prime' $ map (\n->2^(2^n)+1) [0..]
take 5 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,5,17,257,65537]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%AB%E3%83%9E%E3%83%BC%E6%95%B0#%E3%83%95%E3%82%A7%E3%83%AB%E3%83%9E%E3%83%BC%E7%B4%A0%E6%95%B0

## ユークリッド素数
（素数階乗素数）
<dl><dt>定義</dt><dd>

:::note info
$p = n\\\# + 1$ の形で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A018239
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A014545
$$\begin{flalign}&
0, 1, 2, 3, 4, 5, 11, 75, 171, 172, 384, 457, 616, 643, 1391, 1613, 2122, 2647, 2673, 4413, 13494, 31260, 33237, 304723,
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
2, 3, 7, 31, 211, 2311, 200560490131, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[0..], let q = 1 + p## n, is_prime' q]
take 10 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(0,2),(1,3),(2,7),(3,31),(4,211),(5,2311),(11,200560490131),
(75,1719620105458406433483340568317543019584575635895742560438771105058321655238562613083979651479555788009994557822024565226932906295208262756822275663694111),
(171,20404068993016374194542464172774607695659797117423121913227131032339026169175929902244453757410468728842929862271605567818821685490676661985389839958622802465986881376139404138376153096103140834665563646740160279755212317501356863003638612390661668406235422311783742390510526587257026500302696834793248526734305801634165948702506367176701233298064616663553716975429048751575597150417381063934255689124486029492908966644747931),
(172,20832554441869718052627855920402874457268652856889007473404900784018145718728624430191587286316088572148631389379309284743016940885980871887083026597753881317772605885038331625282052311121306792193540483321703645630071776168885357126715023250865563442766366180331200980711247645589424056809053468323906745795726223468483433625259000887411959197323973613488345031913058775358684690576146066276875058596100236112260054944287636531)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0%E9%9A%8E%E4%B9%97%E7%B4%A0%E6%95%B0

## クンマー素数
（素数階乗素数）
<dl><dt>定義</dt><dd>

:::note info
$p = n\\\# - 1$ の形で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A057705
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A057704
$$\begin{flalign}&
2, 3, 5, 6, 13, 24, 66, 68, 167, 287, 310, 352, 564, 590, 620, 849, 1552, 1849, 67132, 85586, 234725,
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 29, 2309, 30029, 304250263527209,&\\& 23768741896345550770650537601358309, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[2..], let q = -1 + p## n, is_prime' q]
take 10 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(2,5),(3,29),(5,2309),(6,30029),(13,304250263527209),
(24,23768741896345550770650537601358309),
(66,19361386640700823163471425054312320082662897612571563761906962414215012369856637179096947335243680669607531475629148240284399976569),
(68,2159704595610254721415747050533376368260798239989520222949435936418441984820398307416727184404426847652711313512004598759003964186453789),
(167,19649288510530675457635414441530973968028056560270178760163094612807087579117222328838467049939300222263018614960316970059367632623084520289159762277685706141788095679442344974064203568968298530551124858332193301576974333066317468633561818590965385004001920654119546949528482322103750771653865564789273369859966306024106155051816131935006029725093179578640416314145736960424258769442998811239035580823050358968029),
(287,7148872308348669964510112805799367345041876048527043577174997635789953888187751121056510536208835758341865360994540924539992624902598731397121474422984243643637526103097113473245267463770365459016338957939649642778222396242426052481835019495804240323401742312674588410373705010749720211707550895270264340811085438304597637054470385918725430396398595971450288989411650994587997549686345680439253363054848175668330867740879106096721018270650903296195483819063779403932787178928305095386606901073837751456724670785524431615536310559839378149309443539692477252909302829418092926751382580131554544779707098497432274483929631206536169123617068452095459440167498814490434614831017102124653601802925310283316398582840798663581750159791496432870626882826015508727506279345339667063871022000761714929)]
```
</dd></dl>

## フォーチュン素数
<dl><dt>定義</dt><dd>

:::note info
フォーチュン数：｛$p_{n}\\# + m$ が素数となるような最小の整数 $ m ( \gt 1 )$｝であり素数である $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005235
https://oeis.org/A046066
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 5, 7, 13, 17, 19, 23, 37, 47, 59,&\\& 61, 67, 71, 79, 89, 101, 103, 107, 109, 127,&\\& 151, 157, 163, 167, 191, 197, 199, 223, 229, 233, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = filter (is_prime') $ map (\n->head [m|m<-[3,5..], is_prime' (m+ p## n)]) [1..]
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,5,7,13,23,17,19,23,37,61,67,61,71,47,107,59,61,109,89,103,79,151,197,101,103,233,223,127,223,191,163,229,643,239,157,167,439,239,199,191,199,383,233,751,313,773,607,313,383,293,443,331,283,277,271,401,307,331,379,491,331,311,397,331,353,419,421,883,547,1381,457,457,373,421,409,1061,523,499,619,727,457,509,439,911,461,823,613,617,1021,523,941,653,601,877,607,631,733,757,877,641]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%81%E3%83%A5%E3%83%B3%E6%95%B0

## 階乗素数
<dl><dt>定義</dt><dd>

:::note info
$p = n! ± 1 (n \in \mathbb{N})$と表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A088332 （$n!+1$の素数）
https://oeis.org/A055490 （$n!-1$の素数）
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 7, 39916801, 10888869450418352160768000001, \dots &\\&
	5, 23, 719, 5039, 479001599, 87178291199, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[1..], let q = 1 + fact n, is_prime' q]
take 10 p'' 
```
```haskell:
p'' = [(n,q)|n<-[2..], let q = -1 + fact n, is_prime' q]
take 10 p'' 
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(1,2),(2,3),(3,7),(11,39916801),(27,10888869450418352160768000001),(37,13763753091226345046315979581580902400000001),(41,33452526613163807108170062053440751665152000000001),(73,4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000001),(77,145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000001),(116,33931086844518982011982560935885732032396635556994207701963662088123265314176330336254535971207181169698868584991941607780111073928236261199604691797570505851011072000000000000000000000000001)]
```
```haskell:
[(3,5),(4,23),(6,719),(7,5039),(12,479001599),(14,87178291199),(30,265252859812191058636308479999999),(32,263130836933693530167218012159999999),(33,8683317618811886495518194401279999999),(38,523022617466601111760007224100074291199999999)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E9%9A%8E%E4%B9%97%E7%B4%A0%E6%95%B0

## ソフィー・ジェルマン素数
<dl><dt>定義</dt><dd>

:::note info
$2p+1$が素数となる素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005384
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 11, 23, 29, 41, 53, 83, 89, 113, 131, \dots &\\&
2618163402417 × 2^{1290000} − 1 \tag{2016年時点で最大}
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''=[(sg,sf)| sf<-filter (\n -> is_prime' ((n-1) `div` 2)) (tail (tail p)), let sg = (sf-1) `div` 2]
take 100 $ map (fst) p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,11,23,29,41,53,83,89,113,131,173,179,191,233,239,251,281,293,359,419,431,443,491,509,593,641,653,659,683,719,743,761,809,911,953,1013,1019,1031,1049,1103,1223,1229,1289,1409,1439,1451,1481,1499,1511,1559,1583,1601,1733,1811,1889,1901,1931,1973,2003,2039,2063,2069,2129,2141,2273,2339,2351,2393,2399,2459,2543,2549,2693,2699,2741,2753,2819,2903,2939,2963,2969,3023,3299,3329,3359,3389,3413,3449,3491,3539,3593,3623,3761,3779,3803,3821,3851,3863]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%82%A3%E3%83%BC%E3%83%BB%E3%82%B8%E3%82%A7%E3%83%AB%E3%83%9E%E3%83%B3%E7%B4%A0%E6%95%B0

## 安全素数
<dl><dt>定義</dt><dd>

:::note info
$(p-1)/2$が素数となる素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005385
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 7, 11, 23, 47, 59, 83, 107, 167, 179, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''=[(sg,sf)| sf<-filter (\n -> is_prime' ((n-1) `div` 2)) (tail (tail p)), let sg = (sf-1) `div` 2]
take 100 $ map (snd) p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[5,7,11,23,47,59,83,107,167,179,227,263,347,359,383,467,479,503,563,587,719,839,863,887,983,1019,1187,1283,1307,1319,1367,1439,1487,1523,1619,1823,1907,2027,2039,2063,2099,2207,2447,2459,2579,2819,2879,2903,2963,2999,3023,3119,3167,3203,3467,3623,3779,3803,3863,3947,4007,4079,4127,4139,4259,4283,4547,4679,4703,4787,4799,4919,5087,5099,5387,5399,5483,5507,5639,5807,5879,5927,5939,6047,6599,6659,6719,6779,6827,6899,6983,7079,7187,7247,7523,7559,7607,7643,7703,7727]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E5%AE%89%E5%85%A8%E7%B4%A0%E6%95%B0

## プロス素数
<dl><dt>定義</dt><dd>

:::note info
$p = k\cdot2^{n}+1$（$n$：正の整数、$k$：$2^{n}>k$を満たす正の奇数）で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A080076
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 5, 9, 13, 17, 25, 33, 41, 49, 57, 65, 81, 97, 113, 129, 145, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''' = [(k,n,p)|n<-[1..], k<-[1,3..2^n-1], let p=k*2^n+1, is_prime' p]
take 40 p'''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(1,1,3),(1,2,5),(3,2,13),(5,3,41),(1,4,17),
(7,4,113),(15,4,241),(3,5,97),(11,5,353),(21,5,673),
(29,5,929),(3,6,193),(7,6,449),(9,6,577),(19,6,1217),
(25,6,1601),(33,6,2113),(43,6,2753),(49,6,3137),(5,7,641),
(9,7,1153),(11,7,1409),(21,7,2689),(27,7,3457),(35,7,4481),
(39,7,4993),(51,7,6529),(57,7,7297),(75,7,9601),(77,7,9857),
(81,7,10369),(89,7,11393),(95,7,12161),(105,7,13441),(107,7,13697),
(119,7,15233),(125,7,16001),(1,8,257),(3,8,769),(13,8,3329)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B9%E6%95%B0#%E3%83%97%E3%83%AD%E3%82%B9%E7%B4%A0%E6%95%B0

## ピアポント素数
<dl><dt>定義</dt><dd>

:::note info
$p = 3^{m}\cdot2^{n}+1$（$m,n$：非負の整数）で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005109
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 7, 13, 17, 19, 37, 73, 97,&\\& 109, 163, 193, 257, 433, 487, 577, 769, 1153, 1297,&\\& 1459, 2593, 2917, 3457, 3889, 10369, 12289, 17497, 18433, 39367,&\\&
52489, 65537, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''' x = [(m,n,q)|m<-[0..floor(logBase 3 x)], n<-[0..floor(logBase 2 x)], let q=3^m*2^n+1, q<x, is_prime' q]
p''' 100000
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(0,0,2),(0,1,3),(0,2,5),(0,4,17),(0,8,257),(0,16,65537),(1,1,7),(1,2,13),(1,5,97),(1,6,193),(1,8,769),(1,12,12289),(2,1,19),(2,2,37),(2,3,73),(2,6,577),(2,7,1153),(2,11,18433),(3,2,109),(3,4,433),(3,7,3457),(4,1,163),(4,4,1297),(4,5,2593),(4,7,10369),(5,1,487),(5,4,3889),(6,1,1459),(6,2,2917),(7,3,17497),(8,3,52489),(9,1,39367)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%94%E3%82%A2%E3%83%9D%E3%83%B3%E3%83%88%E7%B4%A0%E6%95%B0

## サービト素数
<dl><dt>定義</dt><dd>

:::note info
$p =  3 \times 2^n - 1$ で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A007505
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A002235
$$\begin{flalign}&
0, 1, 2, 3, 4, 6, 7, 11, 18, 34, 38, 43, 55, 64, 76, 94, 103, 143, 206, 216,&\\\\& 306, 324, 391, 458, 470, 827, 1274, 3276, 4204, 5134,&\\\\& 7559, 12676, 14898, 18123, 18819, 25690, 26459, 41628, 51387, 71783,&\\\\& 80330, 85687, 88171, 97063, 123630, 155930, 164987, 234760, 
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 5, 11, 23, 47, 191, 383, 6143, 786431, 51539607551, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[0..], let q = 3*2^n-1, is_prime' q]
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(0,2),(1,5),(2,11),(3,23),(4,47),(6,191),(7,383),(11,6143),(18,786431),(34,51539607551),(38,824633720831),(43,26388279066623),(55,108086391056891903),(64,55340232221128654847),(76,226673591177742970257407),(94,59421121885698253195157962751),(103,30423614405477505635920876929023),(143,33451117797795934712303577408972542258970623),(206,308532104497726132904056721729503219684262974806296224377864191),(216,315936875005671560093754083051011296956685286201647333762932932607)]
```
</dd></dl>

https://en.wikipedia.org/wiki/Thabit_number

## カレン素数
<dl><dt>定義</dt><dd>

:::note info
$p = n \times 2^{n} + 1$ を満たす素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005849
</dd>
<dt>定義を満たす $n$ </dt><dd>
（2024年現在、既知のものは16個）
$$\begin{flalign}&
1, 141, 4713, 5795, 6611, 18496, 32292, 32469, 59656, 90825,&\\& 262419, 361275, 481899, 1354828, 6328548, 6679881
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
6679881 × 2^{6679881} + 1 \tag{既知のうち最大のもの}
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''=[(n,q)|n<-[1..], let q=n*2^n+1, is_prime' q]
p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(1,3),
(141,393050634124102232869567034555427371542904833),
(4713,2677114856136697933736444134296294069473360835877445521815688283880323274251963548043328475062388013916298584523053521328906455532243293122247649120667999141956177739050156409498421757923332060596316640631257195623360333643194334118058524648593843039167229660942243585399944074965037752374533295192204875441765598270265814764416763543087415875057955856191365697724709615260647821897338995140534907463282799065416095977054548356800276266674029692792498226245206108087788958744067541397635326162304833094807878403794238619563706846340722839123274026203037112039234882016873977731485542327942966401620403964681628600273783704173791159988737699108693746557993945705972043987077604198044999064201629092111063116822865053108109451580323761583182883573441641827484464357320276397526264795990226899619110115603669354996361944463273587177835036999103554929836719380259649956100026866321448165342334769969895156786587543447919757410556541225638731325663469341854127624038205973198567197566492339682037220683291035338024135444101013594477954634842574077728099202225361590462071661219598135430746579943708832733976150768764898080904631588529580861113604324147925539738783131955725203411839841729645869865957668949066417125593814511508032774734493285686458186727554501306359481949566591957128778468302813656968772056230991522464422116182032916491702012940045654497185958956226883353614827905443501747130339992754131696049534038385360897),
(5795,170560442105000307313119068727744404053693864509240980690299450514105703199298064073472179487189692781678162595136536040700524687216095265869086768556557711365607977711715592323063282615097287514999255782234270629843561957654165847047198418111102681118500753886078720385210889194768291253379588262261315931991050408069429761546616954705378707206274067077337841938001558242555726220425742230624940536040335137501868474643181040787910538093399912204934875395429501588221304672501281051687411755679106978481392483524720204097749723257071443699922265835866791962577060749779807081052372208913040893721105446660097934150348744963885399809490999967922880112666265509319604867844988014587031709477096884440296577102655131328896804749617356322357742861639843232148109752497263821383504771312950418848042140623971900926358762239551107441082019680473167261983052030035674945685276112681798591196496542035188278126051071963499554047335311308949898670366688690162436827373838947466398083570886321507540959328763213067198162883121334219613882549002272484050119079924046307789281553201194367292019780182686404018891883532902560527419831260880880645482995124362242479769160020587177592812412950802494916064559643649277662617048711057410333121291707203935149604277820909119279860985907082827691574812326256551076441841719746273311616135749896258354805834299564167386245295683007078679812057285907297862828965502205665126133897496863379154867345669093790275046667965622210047564008525620746980854374467717569506369365782890659201704055672949490413098960445125995748276550679331635933146456779375850516467170157763508287836548374843978818581470443096715717621634474093426384414107343304825896366275469726023020437764935408387576193303251653872877863805977379796418561),
(6611,85029278063954401608057442269178958601095881673000902463286174259821984066841791967225240174184337149857896976456884717743919010349235605744148792191588898127478821173454324173271963488242172303134483961600273267212979250796686489765968530994856197004571261974132847578260568271940207848247194054252551772805990934683701848509494302827542270680855795091000111885495338573320945656431277139510684714948341084981827201004364322123006461545824464586045590589670474281907887068380257684048071293198927105026072022102571850174491171742092217224929642094516215930334920511568370849006121313428207346411465283744537990481366260996949312575984488507015308668333803678514952760056525648977742415450792841509883722564923042088284123003994082214003832663725767882638496561001486444234795963214201731441461491718681571275944252746274531864762677697083899416120358800098987013011962195010621311191002861066879387528540829952798530102278110031818233510004403670727238233140278228110315550638423183038850821435971338755754412370572885785609126025834752082763940510421079715996026820348304285306478146238275909923974162347506603504236083395332236511614447396593599557570360036217658529408020441474164838997421700312137328799271957403918406289469896925606688165409212422660976194612847248827573112312001607207419237847358709082490392936334046101710399480909764742095626114571340222471747461007445770507555824242798578974718374549576328232419701802762190703806402390401909971966936174138884216948202010693387764290069737880537733619543589287406382878605942181635939381514887235464762827195238609765243189866240773635810772266392471144834403682496873028809081278655576911595194271788040760076944016441956357700409721980473882095251541000661162730992781965162940281141846718595291821330038946583162716004657793478752593194317937585061849958350272371195185654126538532419810395938763606892267001652367925914583877105773808861724644245312101191592720049353716240116262989268170756900997849006120719701071059723747329)^C
Interrupted.
```
</dd>
</dl>

https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AC%E3%83%B3%E6%95%B0#%E3%82%AB%E3%83%AC%E3%83%B3%E7%B4%A0%E6%95%B0

## ウッダル素数
<dl>
<dt>定義</dt>
<dd>

:::note info
$p = n × 2^{n} - 1$ を満たす素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt>
<dd>

https://oeis.org/A002234

</dd>
<dt>定義を満たす $n$ </dt>
<dd>（2024年現在、既知のものは34個）
$$\begin{flalign}&
2, 3, 6, 30, 75, 81, 115, 123, 249, 362,&\\& 384, 462, 512, 751, 822, 5312, 7755, 9531, 12379, 15822,&\\& 18885, 22971, 23005, 98726, 143018, 151023, 667071, 1195203, 1268979, 1467763,&\\& 2013992, 2367906, 3752948, 17016602
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数</dt>
<dd>
$$\begin{flalign}&
17016602 \times 2^{17016602} - 1　\tag{既知のうち最大のもの}
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt>
<dd>

```haskell:
p''=[(n,q)|n<-[2..], let q=n*2^n-1, is_prime' q]
p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(2,7),
(3,23),
(6,383),
(30,32212254719),
(75,2833419889721787128217599),
(81,195845982777569926302400511),
(115,4776913109852041418248056622882488319),
(123,1307960347852357218937346147315859062783),
(249,225251798594466661409915431774713195745814267044878909733007331390393510002687),
(362,3400689659856510513983967904150960015639988330819247172784157326778638668365953026135436149661145081990241845247),
(384,15130370379415480017515151398455147701150619879858731520492144667230357160254928874783078241875807606069745148277817343),
(462,5501738854392961162179176026017924626372727744717470824039194165599524472559859148008657148801167643264160317146644057379520281844448806043647),
(512,6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151),
(751,8895424555342349321723049894983973838790293875538933982585358280621065257777931531024854164354808845068483625439036834547690251259843640197560575436065117153492322441037431938692087017130511719236545657306526703124393676660277247),
(822,22989432637682048935578359759258512929075458593285426151563351225878608019921960174786937174324066918557552262283220478419095917521791323874771300201334066843810139337069250339905576793882539603587327037857904876391811440492908489972485276368673701887),
(5312,6260298383829657225286112584739828350961566071813614817090655661726702203000727443155352137677415727639270005152424260690857553900368341450346970741308511417934442673066866644403367228220364439878425897186245253177691894131530314490537670719045204854370814516293642618537389174767012520242616529405673247696080934123952725656223766315340714614855806548932055139425179151479881206038701763802779138916668883306784294260180704008909313195142729581852896420768539776228014321360869785451249902588785914955877269128146778963486558120668354631060167501141743903122509454201202547688715196727040523077806030531988397663538853730963809344267934674614590712227267805424158243982282344265009362357321981931239055386336840472883326309867734816135908681990888503697042094651571968230153780164618679215781152726244096578224696053246041697606541689435068727931476353894324623910695079566421040585311985103805812421650786510353427759898861776000121326090856058979212077591696177260616037165555751507285878767478858118625647588877281294325434409067338807313030610213165442239480105674376617197846030146545262330219853080619480300992036754949135625216566071983425953282414885683202259216717086223201216107231214643841453821800479705443657770734535275127870398933661350313638594922371398078999763881759388037191499672886496845677727495900732005269358724467804503279937265707718167486322051615118497652040645286382390708500068385222336755432189454238226603697941580242718059483611416057744941499700978593848565252669806462644516538399273148998665777617816962249185512503379530702903585164261671957932841026458847073533951),
(7755,23834068123225913434555279410745878744839896081672903810579146490637390810869254357840358304091122339778107874421215192035877339109770982288272053293885526907980778450504129302708747973430299059987255443332815173019929728697709827665786212256796864342232189277250047426741023425335215616826029656733789628647570775055551944629595620868267162695612544680069717341601111520180166772387982580324963289088440732135947750410287037383068150352456055026053148475851299905041088790970894452984875122025041978085263290526132158848805482367674130589367320003804794144330563297942999543266311098579369944247666071293742285905669346180436081501509642702060860408213502800544678110849191172520936777216869758713949577277043819139466907209814532731126691993784170243205478206279801555142229223664725647150726133047164897219503100246085596400213808966327574619145168565347565669979908045345647436413085863420181299470059425829625324390368896888482253150201488119395909126588189125415394724232601158970633256027539120708831383658210321857424861562716912820086153399857022156898055298462870006306201182868135539099043169824878314538441778418113257523145039356965986798141654320549329169990228165917944468096415449409378480193540566443523600464658362464357400438079372151065509766268736590209124147680611004457829143208408370593407131419693236474753622612620472290999982723196481851182230922694567273278077107599959258709339908216451486771470139642093313481985573266560862518575094798426212070291165772888574851111265990578392440431272939348293551709799853524116065013067653668766124312742053966224955624330807721321510211151198692883695859617685059751651356524563789067046267692473360756271976679359169680268905625576876664467917023396008041685445673155814446256494763980407281325801218648336324793192754725204710974555602592150202388648183883822342215489216940673787326305191780989752830214731875692120055717826032924838880157775248410261577911018959865732595526560075574399034621408261675128213627853824607903798882734585067589924964828003363277930805850512248373735362045090498519689108288711388277733467499500387934174182672534397264398361586510647295363657102712406238814352412738214455608142036691732035718186785976705303492175334421797035484160432166878516145780568191038741650466952058620563534032374062675510887508186230354102341368709197426851839),
(9531,124746147684619503926174540733076565776609601926898802513142869553185795774960944351511570995569623511548276941282819486306760956730621900868142529031819333115115633049735051008214096481829612884632848946161025655296365386276767914917985007954248173857028949072656941316347525158318250609224162046967213913500346320633240139963127469022758844428808590609444072999001783262194658417531803389272765166272943448543016351387358354378605531275827507040730637157235882847839952817198477434783817179263014187955257766254154941202715414377880869147474574919751019805446922486086130124641439728104576130673895821258815133886904763689129860713532820470867706007294407373759664092181810886166140289632438144712308264657405814890890554593722354721358462830947046915859458433319022458467836403953134510728041906205017400626353732872491934301433775353928435226147920301972121231257290150893261256716277312552051114751747983330876266802872897807426164012336641295828003612902925390844597236152332865172415170561526106833227713897188594340591349967964327874866959160696007343552958234225867601731778004836105045469500581310658851579127996127186280748894102772239324973092837665555179390602779857873176736748778931664800530768248233501812665707231533847473472164582102220871580221356968474043446671471866699377130582740422114965677369229031487602497815053497411465540439122330209113967495412712620639854918799621149861584307466809332533382677802273371312223008246895362164954187438227536354863236265449259514222867054723768477658925262465457317881694713418292501428549992241444034262235045273152416910435876257486994802504441170238631420259310123265130030779997975461173536695108528589112967372182707130465788660824952225164046272646122782535730288099029268043895022570738183673402720490059219712845368752041990818682108522788639832666220299816452443189957136240792652403511211538422826310523341694088008054594764821971165839115100120429037030696055164626607217216859671084685831232046398868233548530418081898883400475215689907730638887541826002462950488845556182194365839960235273676843311562454304448634963401737197354692156399474242460111658103958565421442398148795374492871076828264712935097059606718815864539781819293731184108824579195671853408087941547294953000671985500894369909515044753494233744089941708881761550967528595866500669155432431761508387521589170534144816199908440336428443296738604422620779483256747188297144536885164988336293914529729781974866867897258761183126596113905604577545148279141249075172383683226742152231712685133428512280694160823554345629819970867928254932173640720319166277947038987116978932117793114926516933983749032345769147336600136975349302930159718732631583950684387829693480869973919594016078031085441668710468359002726316632877439486449918181244314436001560547538064318326139348029900469027411324680515203638821216739228381876077619031655829209087)^C
Interrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%A6%E3%83%83%E3%83%80%E3%83%AB%E6%95%B0#%E3%82%A6%E3%83%83%E3%83%80%E3%83%AB%E7%B4%A0%E6%95%B0

## ワグスタッフ素数
<dl><dt>定義</dt><dd>

:::note info
$n$が素数であり、$\displaystyle p = \frac{2^n+1}{3}$ が素数である素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A000979
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A000978
$$\begin{flalign}&
3, 5, 7, 11, 13, 17, 19, 23, 31, 43, 61, 79, 101, 127, 167, 191, 199, 313, 347, 701,&\\\\& 1709, 2617, 3539, 5807, 10501, 10691, 11279, 12391, 14479, 42737,&\\\\& 83339, 95369, 117239, 127031, 138937, 141079, 267017, 269987, 374321, 986191, 4031399,
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 11, 43, 683, 2731, 43691, 174763, 2796203, 715827883, 2932031007403, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q) | n<-p, let x=2^n+1, x `mod` 3 == 0, let q = x `div` 3, is_prime' q]
p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(3,3),(5,11),(7,43),(11,683),(13,2731),(17,43691),(19,174763),
(23,2796203),(31,715827883),(43,2932031007403),(61,768614336404564651),
(79,201487636602438195784363),(101,845100400152152934331135470251),
(127,56713727820156410577229101238628035243),
(167,62357403192785191176690552862561408838653121833643),
(191,1046183622564446793972631570534611069350392574077339085483),
(199,267823007376498379256993682056860433753700498963798805883563),
(313,5562466239377370006237035693149875298444543026970449921737087520370363869220418099018130434731),
(347,95562442332919646317117537304253622533190207882011713489066201641121786503686867002917439712921903606443),
(701,3506757267698915671493993255253419110366893201882115906332187268712488102864720548075777690851725634151321979237452145142012954833455869242085209847101253899970149114085629732127775838589548478180862167823854251),
(1709,9619252724870106900591857521914969755994617926162485749828680263442652106934332647419115450350548509594113720023679578428867652599441500099408187466188831829627322561298620142064115434370067980896141705699219480691615366345077753886654052361984948213632109502554264973588138936426510951217614006613784979416372970841528398839021290713797778493018446941241754769857894878843499740605322478881600054025752566680081461168156277505142145985544055010083285836939763680507287209419644373726922686975212036857299070528171),
(2617,20815047099026323257806675143935315245000606320386981580413335663090242082815432995265098589392031228667730473843062779195713776017918917013121073130839039077907880629653588944202322774462326914006584257849232002558050878023575918651686915831015715166128163750577661757268447302500316523850227465632729819785840933960476441995094447131053119719237234706945743000184938183584415225694074338513980952813759887400071071078397968831132690191141545644878174595251413988926012846145007091998393975114834622586096614105658373816787662498366560890295299138528254067663483963612747930019524852659168022079446368475164502311988764660026941548192256786223297786584104610756947392835265037107071204166614305707510898432511257347889222531434492328170692410272342633590329039652079499645847933435947691),
(3539,737960982013072251717827114247527699664069926110661926761160893989171826141119521929101931369383490982766847861989655122674917393968130587829514313057964897260666603966014551135454876960320216137860473967819079126559583788823053318306935359861441837366855882806862688379176110552962626629416447849146630431273272995724167758732603285383186777757585738831334876769323045488159378902977467713837514310434260339455526629562477584638188948029810999272419754692499619209623001613278324156579182194830724641306437197442253758831506979191793352123575900078074622075861772974340085081499946707336416327925893771446279902695718233584641686166117068880549847126723693094451226465616453469916241963304631414866552321857691895960230071117582088132687611887380755935649761769000294914373494533422904682091065786979568675767012114940615503154724612851260976803588566734355505597767200432478724025353578867345462382931420365933103311751585395715447345608189334178143604853988249079586934366138135363609181014186399426964456547292271975820619495426338199733732972086304686486497963),
(5807,40184962373430040768164262611955195801203915388544783256109666339130109882331025047163764577482253760929177681316034030641895261365379707161333299051346585318005768001563823189834179211471871709027147062642023152133404071242534559074220576392469173532434805172124155231396249763691166003672291833317362672271230513169536054259128159129895380196542915084772838687262259566379537221677528914388251736302629434754538583384438857812325657982776303732609332736248446275832871092238438147121750851381168949316064631148533445843220182137530321161626781758050640200098685121144555064940495632309911734292875922319226985233237184893418153443754681384447058782943976044070929050255569221038164042681517908465197283854614634335528404501261587086360501280487592630364029769699671706205742625441348571504261179637376411055183519708553427441971351890205239752952693765604033625397002643517092150103011207142716778096307459923065526222484062992318595625759100194127428314347037349946641734271288488518544018947978954312524801562799251364022919926414340413843502315293005100759556930797359340145419213093372649459958651420809254410141594986745360202697632903617356640617456395992239253388532841327984997193007552510062772854727151020486207907092944072897231681283977822476420495288943078013357761888483655267944153338146912898215955116021373314594264290899684488329828054709093873699885544241764526433485616491057486589395711483874167444252898927846313774322183030611939738557502382567879185135433869414504728104050747582406677605971356709871310443102788797013436004644899772354373435023696768678959761261372804102959274000698496458857688219898471334344514133724813728758732251002483552883032284401725498434956174010666249957554660346205019459748642466686663568043)^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%AF%E3%82%B0%E3%82%B9%E3%82%BF%E3%83%83%E3%83%95%E7%B4%A0%E6%95%B0

## ウィルソン素数
<dl><dt>定義</dt><dd>

:::note info
$p^2$ が $(p − 1)! + 1 $を割り切るような素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A007540
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
（2024年現在、既知のものは３つのみ）
$$\begin{flalign}&
5, 13, 563
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = [n|n<-p, 0 == mod (1 + fact (n-1)) (n^2)]
p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[5,13,563^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%83%AB%E3%82%BD%E3%83%B3%E7%B4%A0%E6%95%B0

## ヴィーフェリッヒ素数
<dl><dt>定義</dt><dd>

:::note info
$2^{p-1} \equiv 1 \pmod{p^{2}}$ を満たす素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A001220
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
（2024年現在、既知のものは2つのみ）
$$\begin{flalign}&
1093, 3511, 
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = [n|n<-p, mod (2^(n-1)) (n^2) == 1]
p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[1093,3511^CInterrupted.
```
</dd></dl>

https://en.wikipedia.org/wiki/Wieferich_prime

## ウォルステンホルム素数
<dl><dt>定義</dt><dd>

:::note info
${}\_{2p-1} C_{p-1} \equiv 1 \pmod{p^{4}}$ を満たす素数 $p$
:::

</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A088164
</dd>

<dt>定義を満たす既知の素数 $p$ </dt><dd>
（2024年現在、既知のものは２つのみ）
$$\begin{flalign}&
16843, 2124679
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'=[n|n<-p, 1 == mod (comb (2*n-1) (n-1)) (n^4)]
p'!!0
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
16843
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A9%E3%83%AB%E3%82%B9%E3%83%86%E3%83%B3%E3%83%9B%E3%83%AB%E3%83%A0%E7%B4%A0%E6%95%B0

このプログラム例は計算効率が悪いため、実行可能なプログラムは @gotoki_no_joe さんの[エントリ](https://qiita.com/gotoki_no_joe/items/a3a9bf12db23c2da6600)が良いです。

## ピライ素数
<dl><dt>定義</dt><dd>

:::note info
$ n! + 1 \equiv 0 \pmod{p}$ かつ $ p - 1 \not\equiv 0 \pmod{n}$ を満たす素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A063980
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
23, 29, 59, 61, 67, 71, 79, 83, 109, 137,&\\& 139, 149, 193, 227, 233, 239, 251, 257, 269, 271, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|q<-map toInteger p, n<-[1..(q-1)],  0 /= mod (q-1) n, 0 == mod (1 + fact n) q]
take 40 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(14,23),(18,23),(18,29),(21,37),(31,43),(41,47),(15,59),(54,59),(8,61),(16,61),(18,61),(31,61),(18,67),(9,71),(19,71),(47,71),(58,71),(64,73),(65,73),(36,79),(61,79),(13,83),(64,127),(65,127),(16,137),(16,139),(25,167),(29,167),(57,173),(48,197),(40,199),(9,269),(24,293),(32,293),(26,307),(42,311),(60,317),(64,337),(65,337),(30,349)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%94%E3%83%A9%E3%82%A4%E7%B4%A0%E6%95%B0

## キネア素数
<dl><dt>定義</dt><dd>

:::note info
$p = 4^n+2^{n+1}-1$（あるいは、$(2^n + 1)^2 - 2$）を満たす素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A091514
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A091513
$$\begin{flalign}&
0, 1, 2, 3, 5, 8, 9, 12, 15, 17, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 7, 23, 79, 1087, 66047, 263167,&\\& 16785407, 1073807359, 17180131327, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[0..], let q=(2^n+1)^2-2, is_prime' q]
p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(0,2),(1,7),(2,23),(3,79),(5,1087),(8,66047),(9,263167),(12,16785407),
(15,1073807359),(17,17180131327),(18,68720001023),(21,4398050705407),
(23,70368760954879),(27,18014398777917439),(32,18446744082299486207),(51,5070602400912922109586440191999),(65,1361129467683753853927285406021911052287),
(87,23945242826029513411849172608708590815387867508899839),
(180,2348542582773833227889480596789337027375682548908319873772282053263986741831302497764317365622246947399139327),
(242,49947976805055875702105555676690660891977570282639538413746511354005947835251026440151972285682251544500579024562377141332119275841462175241601023),
(467,145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698027210444577947715464982893898627225557329873553804703588612020330216295561827847925505727084552327037914865762774957193622340219924022076375039),
(491,40874809539271061742722513162994453833061401813718170449972167525114099545476384067275939133289179158309733311369062302596555530002300798171938238441660029550248020361777256908311981723526811969856462580047366470008937640326635405577217554045879058216396946046097011112590410364682261937887641599),
(501,42860344287450692837937001962400072422456192468221344297750015534814042044997444899727935152627834325103786916702125873007485811427692561743938310298807392778169855666776976700471608816858351135695988987770119065406712300255213768456195256153611868286888332647256408954678588352794039119562136782635007),
(507,175555970201398037864189960037990696642380564349834626243584063630598316216309534309285622385163609395625111210811907575838661883607828732903171318983862287575659579835038923841701274194724856248892188344981621168721239135976941004375418389156162030256565110081552962253126841979472344614562429768711536639),
(555,13908976937465711096600078626398891812899776992581064189424841418012806069803436530898321493204542046513744141264739720678439654956272568290463281503027843811211021823628016351296999218139730229617008058061160109025133125004173969275987323046485257565297298289499556732078934659589515216273828963817975605805773953238105028738112552959),
(591,65683286500494959327954779419146100935287188512606391608174273744204485669104559400167406224197563832421764064910742140917148312724367755985228004008211964968336118589996303103976932527399403612884459572111039258003167839851596163160278804289402752165306097860918937671037341587577117983578539965058977162388642771383466807259980068286398180399309756825599),
(680,25164835917856289730927475999919701398386856086915571652699466838971252434076831284503858228079808491410765356855335352400184588416758385578920415520272105762997920320440653216777881390551602814084452214268397146825406175432201703031863009655612471501539510608066150445091277235171662837398752296115894915811617166640134451102386773616291865721039577339497512157904818369064567371731263641646565408502425059327),
(800,44462416477094044620016814065517364315819234512137839319418223093753683069769152238984782576173969417485953521141049383745107056455283979316385016701612810119562585078620415976730705698345087039035930761275083827265405596065418173652685035802234142857386750877406553895472392755912004056509595899684612653218536007637179454409726870685257473691857705015132202182073823557441404901396526810480224857200275459417670960248092580240101824602441961518561450522920467032249083208692400127),
(1070,160026063062018484942094643937668324780970962601048103007033743660198355676267553571331875582305829021394531984226698075445825563589898401174051110219014465234806240730140351757881521159301399413063422548300793366264063568728133061971571582818484939859826257103361963374746654872926426111386247952405783074859305400039507078072325953120217290882390390765168436341835979480418135726803600363089477461511802511768774536293154589303818106978296363224904457693835211297958689885058318073800268942895778613495076309488190625278472785129539076027959184459368145847109883909921872125836140844991687082716656772152245262205316690018461048497011240730623)^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/Kynea%E6%95%B0

## キャロル素数
<dl><dt>定義</dt><dd>

:::note info
$p = 4^n-2^{n+1}-1$（あるいは、$(2^n - 1)^2 - 2$）を満たす素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A091516
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A091515
$$\begin{flalign}&
2, 3, 4, 6, 7, 10, 12, 15, 18, 19, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
7, 47, 223, 3967, 16127, 1046527, 16769023, 1073676287,&\\& 68718952447, 274876858367, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[2..], let q=(2^n-1)^2-2, is_prime' q]
p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(2,7),(3,47),(4,223),(6,3967),(7,16127),(10,1046527),(12,16769023),
(15,1073676287),(18,68718952447),(19,274876858367),(21,4398042316799),
(25,1125899839733759),(27,18014398241046527),(55,1298074214633706835075030044377087),
(129,463168356949264781694283940034751631411718809194878502303976837601925445713919),
(132,29642774844752946028434172162224104410426227038662514363270313518587944605057023),
(159,533996758980227520598755426542388028650676130587701690849429499037351246612443854486084589191167),
(171,8958978968711216842229769122273777112486581988938592153289249896476814522427568975628261462386732433407),
(175,2293498615990071511610820895302086940796564989168281027956617535268869228691795611175694576938930550079487),
(315,4455508415646675018204269146191690746966043464109921807206242693261010905477224010259680479801987008406585323562813599532708841197305532137521323771919534692725949816318656205938871697932287),
(324,1167984798111281975972139931059274579172666497855631342228273284582214442805421410945513679697247009991747281781717531630841710983004444841007965884960248526861060325605002846723615058428348596223),
(358,344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611554672687204289123827567207747375305430780968167209222730184865587979082576318732485241749592282161404652290047),
(393,406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728014210988333976487190457034180881334852153959632277392289661516297088990648707130077572428964982080438259659694596423679),
(435,7872201966280717348342236651726314522606839627565764220475565031568317153405023507392663596386569558004653379220621715171372109047931090170021053480627826685308659340562746288109280147802449846709499341424722624247844727603454284082216974269896319765247518834687),
(786,165635408748291599080029182380130009039563069165266451684453424415564846507344962056669527948550766026548868123967384486440967978743031543926838847628283538369695041621552467259506529935989853140100578819495006752257814988737621060210037295860801552923627902867881104200535939343950829521563573607489917970144200041272475187020392380100301757002948068856607341788871653623311673828284039829595440323972682599576525856452670880014119507442650156150067264277887638392346247167),
(1459,254405998738880392120826394278324941591123871244383874205153363217654428493251439249806018563971610967582337605469953108053903714105642748777221507818617896258732317375147902544263779682344906688836737300018591472110192989598940766577008220917976464531123899456967266594955220885817800447631425707393947625889399807852014003986036463514458996102861658491555835688577754884991107095313395044407719618073551421033234110550740926037761619271885682608081086753390938409573280367833860508569810337813772986804100472239818462149262845940749880328182218521144823107627757761499252266448190456766950528864110336947697378646753294157392972229901654933386555518716708412794370404640363456772305972706309890806662526576213916655126994389536947103189107936542598804639875178746283553452968458939063385521641528684373711415083942779133837781560849668083894287021225165056228741915503826567167),
(1707,52048137929018049294826461400270402689981496361269072262129908663316054180437402787258971200757167260363866763223592090394628127743795494083040982230639313491467565597255001055893753319101222561423949077163908013832482564822744599148433985140790671070747733643273783792635934734529374443349067097411367383202721400800911288124643565011979891455567956603871954204628220250999753175221121012413184505946241941659428616483817239766690932630901926121441145106678588698550025371075487045732474531511072821776312236803945839150311009273860814230454636381808583647687526663568019445553401204217082215395295249273794747199514112278723250564576630418414841054689964405065378228933971780679828405414669557168971576255709039835727518667487453479570276056354451301327594482368840301546782638120213378440535505270641065172462392598564172617678749589297953128420363243752822934208982197436950931344633734515889771701448832890878158782521098132498939969136828808602459552823987698339845203133686093528308218042974703618016461618469459751600127)^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%AD%E3%83%AB%E6%95%B0

## レイランド素数
<dl><dt>定義</dt><dd>

:::note info
レイランド数：｛$x^y+y^x (x,y \in \mathbb{N}, x \gt y \gt 1)$ と表される数｝で素数となる $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A094133
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
17, 593, 32993, 2097593, 8589935681, 59604644783353249, 523347633027360537213687137,&\\& 43143988327398957279342419750374600193,&\\& 4318114567396436564035293097707729426477458833,&\\& 5052785737795758503064406447721934417290878968063369478337, \dots
&\\ \end{flalign}$$
例）$$\begin{flalign}&
3^2 + 2^3, 9^2 + 2^9, 15^2 + 2^{15}, 21^2 + 2^{21}, 33^2 + 2^{33},&\\& 24^5 + 5^{24}, 56^3 + 3^{56}, 32^{15} + 15^{32}, 54^7 + 7^{54}, 38^{33} + 33^{38}.
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''' = [(x,y,q)|x<-[2..], y<-[2..x], let q=x^y+y^x, is_prime' q]
take 20 p'''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(3,2,17),(9,2,593),(15,2,32993),(21,2,2097593),(24,5,59604644783353249),(32,15,43143988327398957279342419750374600193),(33,2,8589935681),(38,33,5052785737795758503064406447721934417290878968063369478337),(54,7,4318114567396436564035293097707729426477458833),(56,3,523347633027360537213687137),(68,21,814539297859635326656252304265822609649892589675472598580095801187688932052096060144958129),(69,8,205688069665150755269371147819668813122841983204711281293004769),(75,34,7259701736680389461922586102342375953169154793471358981661239413987142371528493467259545421437269088935158394128249),(76,9,3329896365316142756322307042065269797678257903507506764421250291562312417),(81,80,14612087592038378751152858509524512533536096028044190178822935218486730194880516808459166772134240378240755073828170296740373082348622309614668344831750401),(87,56,123696767198741648186287940563721003128015158572134981161748692560225922426827257262789498753729852662122870454448694253249972402126255218031127222474177),(114,67,14877416035581437625382418693025659213718389161995860818124841388673684963203665153674781821433446993366770573625979847557897428218464508224911011186563057321746523584348117445155146293741592207500868288335433),(114,97,31044002257937938068829512069328418720442849714746044259262070211475909156430718104897916371346903019988299736264997845256331029880527467485588680290321008690638402969435837489232709464321634204160348150282351066675254883643073),(122,9,261568927457882874608733211757582315090892217214195250256575658313972901281170319830426649720495055337775965208077073),(135,32,156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266534864181746784056675684904885421941056286488906715343079485633768193)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%A9%E3%83%B3%E3%83%89%E6%95%B0#%E3%83%AC%E3%82%A4%E3%83%A9%E3%83%B3%E3%83%89%E7%B4%A0%E6%95%B0

## クォータン素数
<dl><dt>定義</dt><dd>

:::note info
$p = x^4 + y^4$ の形式で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A002645
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
2, 17, 97, 257, 337, 641, 881, 1297, 2417, 2657, 3697, 4177, 4721, 6577, 10657, 12401, 14657, 14897, 15937, 16561, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p''' = [(x,y,q)|x<-[1..], y<-[1..x], let q=x^4+y^4, is_prime' q]
take 20 p'''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(1,1,2),(2,1,17),(3,2,97),(4,1,257),(4,3,337),(5,2,641),(5,4,881),(6,1,1297),(7,2,2417),(7,4,2657),(7,6,3697),(8,3,4177),(8,5,4721),(9,2,6577),(9,8,10657),(10,7,12401),(10,9,16561),(11,2,14657),(11,4,14897),(11,6,15937)]
```
</dd></dl>

https://en.wikipedia.org/wiki/Quartan_prime

## フィボナッチ素数
<dl><dt>定義</dt><dd>

:::note info
フィボナッチ数：｛漸化式 $F_{0}=0, F_{1}=1, L_{n+2}=F_{n+1}+F_{n}$ で定義される数列の項｝であり素数である $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005478
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A001605
$$\begin{flalign}&
3, 4, 5, 7, 11, 13, 17, 23, 29, 43, 47, 83, 131, 137, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 13, 89, 233, 1597, 28657, 514229, 433494437, 2971215073, 99194853094755497, 1066340417491710595814572169, 19134702400093278081449423917, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
fib = 0:1: zipWith (+) (tail fib) fib
p' = filter (is_prime')  fib
take 22 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,13,89,233,1597,28657,514229,433494437,2971215073,99194853094755497,1066340417491710595814572169,19134702400093278081449423917,475420437734698220747368027166749382927701417016557193662268716376935476241,
529892711006095621792039556787784670197112759029534506620905162834769955134424689676262369,1387277127804783827114186103186246392258450358171783690079918032136025225954602593712568353,
3061719992484545030554313848083717208111285432353738497131674799321571238149015933442805665949,10597999265301490732599643671505003412515860435409421932560009680142974347195483140293254396195769876129909,
36684474316080978061473613646275630451100586901195229815270242868417768061193560857904335017879540515228143777781065869,96041200618922553823942883360924865026104917411877067816822264789029014378308478864192589084185254331637646183008074629,
357103560641909860720907774139063454445569926582843306794041997476301071102767570483343563518510007800304195444080518562630900027386498933944619210192856768352683468831754423234217978525765921040747291316681576556861490773135214861782877716560879686368266117365351884926393775431925116896322341130075880287169244980698837941931247516010101631704349963583400361910809925847721300802741705519412306522941202429437928826033885416656967971559902743150263252229456298992263008126719589203430407385228230361628494860172129702271172926469500802342608722006420745586297267929052509059154340968348509580552307148642001438470316229]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A3%E3%83%9C%E3%83%8A%E3%83%83%E3%83%81%E7%B4%A0%E6%95%B0

## リュカ素数
<dl><dt>定義</dt><dd>

:::note info
リュカ数：｛漸化式 $L_{0}=2, L_{1}=1, L_{n+2}=L_{n+1}+L_{n}$ で定義される数列の項｝であり素数である $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005479
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A001606
$$\begin{flalign}&
0, 2, 4, 5, 7, 8, 11, 13, 16, 17, 19, 31, 37, 41, 47, 53, 61, 71, 79, 113, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 7, 11, 29, 47, 199, 521, 2207, 3571,&\\& 9349, 3010349, 54018521, 370248451, 6643838879,\dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
luc = 2:1: zipWith (+) (tail luc) luc
p' = filter (is_prime') luc
take 25 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,7,11,29,47,199,521,2207,3571,9349,3010349,54018521,370248451,6643838879,
119218851371,5600748293801,688846502588399,32361122672259149,412670427844921037470771,
258899611203303418721656157249445530046830073044201152332257717521,
59242995313457729780510823767354730798286848921481374874264534705573628371,
1320635738332838963909223928755510140034256069418124684146882354518875225823337405694736924839855437876879,
128654053254067001789796154414677061029563911266334766544884715737078582075546200311143377241563666249432665857145030497939634521,
881807999374692263162623552650883434092674833548025120916866832559941434599328014086341873039457819883733564035369994616840509571]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%A5%E3%82%AB%E6%95%B0#%E3%83%AA%E3%83%A5%E3%82%AB%E7%B4%A0%E6%95%B0

## ペラン素数
<dl><dt>定義</dt><dd>

:::note info
ペラン数：｛漸化式 $P_{0}=3, P_{1}=0, P_{2}=2, P_{n}=P_{n-2}+P_{n-3}$ で定義される数列の項｝であり素数である $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A074788
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A112881
$$\begin{flalign}&
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
	2, 3, 5, 7, 17, 29, 277, 367, 853, 14197, 43721, 1442968193, 792606555396977, 187278659180417234321, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
perr = 3:0:2: zipWith (+) (tail perr) perr
p' = filter (is_prime') perr
take 25 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,2,3,2,5,5,7,17,29,277,367,853,14197,43721,1442968193,792606555396977,187278659180417234321,66241160488780141071579864797,22584751787583336797527561822649328254745329,29918426252927024136988188355201180399482197,375650352810749628391658393147651164149079195002314045738061982119710039976648976965060598469931973177804611901813,17889871724792219792241402014701050416254403054909819082963323121939408639274412767017724313639101409409795922319558694157739957,18106564606349058350871445556416183706383627605153862231876341960946635847221883756661544295450957270512362655785866338801138896957806303459431839801,26443665126671039192963010650954408309392693422822076064578125303560832561672888722088906692033449248344378194605701099265071815485284432217750405098433434144179485693746031340517,1213927704065079865017068478668276043626477148780514011765015731886286159454983721480068033892046357328417429372450987777059793416910075913180181245051185193201551033755831307534780351082477949347441]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%A9%E3%83%B3%E6%95%B0#%E3%83%9A%E3%83%A9%E3%83%B3%E7%B4%A0%E6%95%B0

## ヤーコプスタール素数
<dl><dt>定義</dt><dd>

:::note info
ヤーコプスタール数：｛漸化式 $J_{0}=0, J_{1}=1, J_{n+2}=J_{n+1}+2J_{n}$ で定義される数列の項｝であり素数である $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A049883
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A107036
$$\begin{flalign}&
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
3, 5, 11, 43, 683, 2731, 43691, 174763, 2796203, 715827883, 2932031007403, 768614336404564651, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
jac = 0:1: zipWith (+) (tail jac) (map (*2) jac)
p' = filter (is_prime') jac
take 20 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,5,11,43,683,2731,43691,174763,2796203,715827883,2932031007403,768614336404564651,201487636602438195784363,845100400152152934331135470251,56713727820156410577229101238628035243,62357403192785191176690552862561408838653121833643,1046183622564446793972631570534611069350392574077339085483,267823007376498379256993682056860433753700498963798805883563,5562466239377370006237035693149875298444543026970449921737087520370363869220418099018130434731,95562442332919646317117537304253622533190207882011713489066201641121786503686867002917439712921903606443]
```
</dd></dl>

https://en.wikipedia.org/wiki/Jacobsthal_number

## ペル素数
<dl><dt>定義</dt><dd>

:::note info
ペル数：｛漸化式 $P_{0}=1, P_{1}=2, P_{n+2}=2P_{n+1}+P_{n}$ で定義される数列の項｝であり素数である $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A086383
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A096650
$$\begin{flalign}&
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
2, 5, 29, 5741, 33461, 44560482149, 1746860020068409, 68480406462161287469, 13558774610046711780701,&\\& 4125636888562548868221559797461449, 4760981394323203445293052612223893281, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
pell = 1:2: zipWith (+) (map (*2) $ tail pell) pell
p' = filter (is_prime') pell
take 20 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,5,29,5741,33461,44560482149,1746860020068409,68480406462161287469,13558774610046711780701,
4125636888562548868221559797461449,4760981394323203445293052612223893281,161733217200188571081311986634082331709,
2964793555272799671946653940160950323792169332712780937764687561,677413820257085084326543915514677342490435733542987756429585398537901,
4556285254333448771505063529048046595645004014152457191808671945330235841,54971607658948646301386783144964782698772613513307493180078896702918825851648683235325858118170150873214978343601463118106546653220435805362395962991295556488036606954237309847762149971207793263738989,
14030291214037674827921599320400561033992948898216351802670122530401263880575255235196727095109669287799074570417579539629351231775861429098849146880746524269269235328805333087546933690012894630670427794266440579064751300508834822795162874147983974059159392260220762973563561382652223360667198516093199367134903695783143116067743023134509886357032327271649,
2434804314652199381956027075145741187716221548707931096877274520825143228915116227412484991366386864484767844200542482630246332092069382947111767723898168035847078557798454111405556629400142434835890123610082763986456199467423944182141028870863302603437534363208996458153115358483747994095302552907353919742211197822912892578751357668345638404394626711701120567186348490247426710813709165801137112237291901437566040249805155494297005186344325519103590369653438042689,
346434895614929444828445967916634653215454504812454865104089892164276080684080254746939261017687341632569935171059945916359539268094914543114024020158787741692287531903178502306292484033576487391159597130834863729261484555671037916432206867189514675750227327687799973497042239286045783392065227614939379139866240959756584073664244580698830046194724340448293320938108876004367449471918175071251610962540447986139876845105399212429593945098472125140242905536711601925585608153109062121115635939797709,
32074710952523740376423283403256578238321646122759160107427497117576305397686814013623874765833543023397971470911301264845142006214276865917420065183527313421909784286074786922242104480428021290764613639424408361555091057197776876849282654018358993099016644054242247557103410808928387071991436781136646322261169941417916607548507224950058710729258466238995253184617782314756913932650536663800753256087990078866003788647079369825102832504351225446531057648755795494571534144773842019836572551455718577614678081652481281009]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%AB%E6%95%B0

## ニューマン-シャンクス-ウィリアムズ素数（NSW素数）
<dl><dt>定義</dt><dd>

:::note info
$\displaystyle p = \frac{(1+\sqrt{2})^{2n+1}+(1-\sqrt{2})^{2n+1}}{2}$ の形で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A088165
</dd>
<dt>定義を満たす $n$ </dt><dd>

https://oeis.org/A005850
$$\begin{flalign}&
3, 5, 7, 19, 29, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
7, 41, 239, 9369319, 63018038201, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
nsw = 1:7: zipWith (-) (map (*6) (tail nsw)) nsw
p' = filter (is_prime') nsw
take 10 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[7,41,239,9369319,63018038201,489133282872437279,19175002942688032928599,123426017006182806728593424683999798008235734137469123231828679,118119373866262081485223899617886417593271902402645222441921910431040354300019446804767966058309121,70393657629419512300176098237919643553997207020010109405976727793670773944409421814790772590069113145391735749901577009096149305609025491601824219052328961940201]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%9E%E3%83%B3%E2%80%93%E3%82%B7%E3%83%A3%E3%83%B3%E3%82%AF%E3%82%B9%E2%80%93%E3%82%A6%E3%82%A3%E3%83%AA%E3%82%A2%E3%83%A0%E3%82%BA%E7%B4%A0%E6%95%B0


## 陳素数
<dl><dt>定義</dt><dd>

:::note info
$p + 2$ が素数または2つだけの素数の積（＝半素数）である素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A109611
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 47, 53,&\\& 59, 67, 71, 83, 89, 101, 107, 109, 113, 127, 131, 137, 139, 149, 157, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
factors nn = f nn p where f m (n:ps) | m==1 = [] | m<n*n = [m] | r==0 = n : f q (n:ps) | otherwise = f m ps where (q,r) = quotRem m n
p' = [n|n<-p, length (factors (n+2)) <= 2]
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,7,11,13,17,19,23,29,31,37,41,47,53,59,67,71,83,89,101,107,109,113,127,131,137,139,149,157,167,179,181,191,197,199,211,227,233,239,251,257,263,269,281,293,307,311,317,337,347,353,359,379,389,401,409,419,431,443,449,461,467,479,487,491,499,503,509,521,541,557,563,569,571,577,587,599,617,631,641,647,653,659,677,683,701,719,743,751,761,769,787,797,809,811,821,827,829,839]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E9%99%B3%E7%B4%A0%E6%95%B0

## オイラー素数
<dl><dt>定義</dt><dd>

:::note info
$p = n^2 + n + 41 \\; (n \ge 0)$ の形をした素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A005846
</dd>
<dt>定義を満たす $n$ </dt><dd>
$$\begin{flalign}&
0 \le n \le 39 の範囲で、 p=n^2 + n + 41 は全て素数
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
41,43,47,53,61,71,83,97,113,131,151,173,197,223,251,281,313,347,383,421,461,503,547,593,641,691,743,797,853,911,971,1033,1097,1163,1231,1301,1373,1447,1523,1601, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = [q|m<-map toInteger [41],n<-[0..],let q=n*(n+1)+m, is_prime' q]
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[41,43,47,53,61,71,83,97,113,131,151,173,197,223,251,281,313,347,383,421,461,503,547,593,641,691,743,797,853,911,971,1033,1097,1163,1231,1301,1373,1447,1523,1601,1847,1933,2111,2203,2297,2393,2591,2693,2797,2903,3011,3121,3347,3463,3581,3701,3823,3947,4073,4201,4463,4597,4733,4871,5011,5153,5297,5443,5591,5741,6047,6203,6361,6521,7013,7351,7523,7873,8231,8597,8783,8971,9161,9547,9743,9941,10141,10343,10753,11171,11383,11597,11813,12251,12473,12697,12923,13151,13381,13613]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0#%E7%B4%A0%E6%95%B0%E7%94%9F%E6%88%90%E5%BC%8F

関連して、$m^2-m+p (\forall m=0,\dots,p-1)$が素数となる$p = 2, 3, 5, 11, 17, 41 $を『オイラーの幸運数』（ https://oeis.org/A014556 ）と呼びます。またそれに対応する『ヘイグナー数』（ https://oeis.org/A003173 ）も素数列です。

## キュバン素数
<dl><dt>定義</dt><dd>

:::note info
$p = 3n^2 + 3n + 1$ で表される素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A002407
</dd>
<dt>定義を満たす $n$ </dt><dd>
$$\begin{flalign}&
1, 2, 3, 4, 6, 9, 10, 11, 13, 14,&\\& 17, 23, 24, 25, 27, 28, 30, 32, 34, 37, \dots
&\\ \end{flalign}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
7, 19, 37, 61, 127, 271, 331, 397, 547, 631,&\\& 919, 1657, 1801, 1951, 2269, 2437, 2791, 3169, 3571, 4219, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(n,q)|n<-[1..], let q=3*n*(n+1)+1, is_prime' q]
take 100 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(1,7),(2,19),(3,37),(4,61),(6,127),(9,271),(10,331),(11,397),(13,547),(14,631),(17,919),(23,1657),(24,1801),(25,1951),(27,2269),(28,2437),(30,2791),(32,3169),(34,3571),(37,4219),(38,4447),(41,5167),(42,5419),(45,6211),(48,7057),(49,7351),(52,8269),(55,9241),(58,10267),(62,11719),(63,12097),(66,13267),(67,13669),(74,16651),(80,19441),(81,19927),(86,22447),(88,23497),(90,24571),(91,25117),(93,26227),(95,27361),(105,33391),(108,35317),(119,42841),(123,45757),(125,47251),(128,49537),(129,50311),(136,55897),(140,59221),(142,60919),(147,65269),(153,70687),(156,73477),(157,74419),(158,75367),(164,81181),(165,82171),(170,87211),(171,88237),(172,89269),(175,92401),(179,96661),(184,102121),(185,103231),(186,104347),(191,110017),(193,112327),(195,114661),(196,115837),(205,126691),(207,129169),(209,131671),(212,135469),(216,140617),(219,144541),(220,145861),(224,151201),(227,155269),(233,163567),(237,169219),(238,170647),(242,176419),(245,180811),(251,189757),(258,200467),(259,202021),(266,213067),(277,231019),(279,234361),(283,241117),(286,246247),(289,251431),(294,260191),(296,263737),(298,267307),(303,276337),(305,279991),(307,283669)]
```
</dd></dl>

https://en.wikipedia.org/wiki/Cuban_prime

## ヒッグス素数
<dl><dt>定義</dt><dd>

:::note info
素数$p$ より小さなヒッグス素数の積の2乗を $p-1$ が割り切るときの素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A007459
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 7, 11, 13, 19, 23, 29, 31, 37, 43, 47, 53, 59, 61, 67, 71, 79, 101, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = f 1 p where f q (n:ps) | 0 == mod q (n-1) = n : f (q*n^2) ps | otherwise = f q ps
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,7,11,13,19,23,29,31,37,43,47,53,59,61,67,71,79,101,107,127,131,139,149,151,157,173,181,191,197,199,211,223,229,263,269,277,283,311,317,331,347,349,367,373,383,397,419,421,431,461,463,491,509,523,547,557,571,599,607,631,643,659,661,677,683,691,701,709,727,733,743,787,797,827,829,839,853,859,863,883,907,911,941,947,967,983,991,1013,1019,1039,1051,1061,1063,1087,1093,1103,1109,1117]
```
</dd></dl>

https://en.wikipedia.org/wiki/Higgs_prime

## スターン素数
<dl><dt>定義</dt><dd>

:::note info
素数 $p$ が、それより小さな素数 $q$ と$b (\neq 0, \in \mathbb{N})$ を使って $p = q + 2b^2$ と書くことができない素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A042978
</dd>
<dt>定義を満たす既知の素数 $p$ </dt>
<dd>
$$\begin{flalign}&
2, 3, 17, 137, 227, 977, 1187, 1493, 
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
is_sq n = sq * sq == n where sq = floor $ sqrt $ (fromIntegral n::Double)
p' = 2:3:[n|n<-tail p, let q = takeWhile (<n) p, not $ or $ map (\x->is_sq((n-x) `div` 2)) q]
p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,17,137,227,977,1187,1493^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%B3%E7%B4%A0%E6%95%B0

## ラマヌジャン素数
<dl><dt>定義</dt><dd>

:::note info
すべての $x \ge R_{n}$ に対して $\displaystyle \pi{(x)}-\pi{(\frac{x}{2})} \ge n$ を満たす最小の整数 $R_{n}$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A104272
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 11, 17, 29, 41, 47, 59, 67, 71, 97,&\\& 101, 107, 127, 149, 151, 167, 179, 181, 227, 229,&\\& 233, 239, 241, 263, 269, 281, 307, 311, 347, 349,&\\& 367, 373, 401, 409, 419, 431, 433, 439, 461, 487,&\\& 491, 503, 569, 571, 587, 593, 599, 601, 607, 641,&\\& 643, 647, 653, 659, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
primepi n | n<1 = 0 | otherwise = toInteger . length $ takeWhile (<=n) p
p' = 2:map rmnj [1..] where rmnj n = f (4*n* (ceiling $ log $ fromIntegral (4*n))) where f x | (primepi x - primepi (x `div` 2) <= n) = x+1 | otherwise = f (x-1)
take 40 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,7,17,29,41,47,59,67,71,97,101,107,127,149,151,167,179,181,227,229,233,239,241,263,269,281,307,311,347,349,367,373,401,409,419,431,433,439,461,487]
```
</dd></dl>

https://en.wikipedia.org/wiki/Ramanujan_prime

## ベルトラン素数
<dl><dt>定義</dt><dd>

:::note info
一つ前の素数を $q$ とすると、$ p < 2q$となる最大の素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A006992
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 7, 13, 23, 43, 83, 163, 317, 631, 1259, 2503, 5003, 9973, 19937, 39869, 79699, 159389, 318751,  \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = iterate (f . (*2)) 2 where f n | is_prime' n = n | otherwise = f (n-1)
take 40 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,7,13,23,43,83,163,317,631,1259,2503,5003,9973,19937,39869,79699,159389,318751,637499,1274989,2549951,5099893,10199767,20399531,40799041,81598067,163196129,326392249,652784471,1305568919,2611137817,5222275627,10444551233,20889102457,41778204911,83556409789,167112819547,334225639093]
```
</dd></dl>

https://en.wikipedia.org/wiki/Bertrand%27s_postulate

## 正則素数
（正則素数ではない素数を「非正則素数」といいます）
<dl><dt>定義</dt><dd>

:::note info
円の $p$ 分体の類数を割り切らない素数 $p$ 
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A007703
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 5, 7, 11, 13, 17, 19, 23, 29, 31,&\\& 41, 43, 47, 53, 61, 71, 73, 79, 83, 89,&\\& 97, 107, 109, 113, 127, 137, 139, 151, 163, 167, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'= [3,5,7,11]++[q| q<-drop 5 p, let bs = map (\n-> numerator . abs $ b_n!!n) [10,12..(fromEnum (q-3))], and $ map ((/=0) . (\(n :: Integer)-> mod n q)) bs]
take 40 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[3,5,7,11,13,17,19,23,29,31,41,43,47,53,61,71,73,79,83,89,97,107,109,113,127,137,139,151,163,167,173,179,181,191,193,197,199,211,223,227]
```
</dd>
</dl>

https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%89%87%E7%B4%A0%E6%95%B0

## モツキン素数
<dl><dt>定義</dt><dd>

:::note info
モツキン数：｛円周上の相異なる $n$ 個の点を互いに交わらないような線分で結ぶ方法の数｝であり素数である $p$
:::

モツキン数は次の漸化式を満たします。

$\displaystyle M_{n} = M_{n-1} + \sum_{i=0}^{n-2}M_{i}M_{n-2-i} = 
\frac{2n+1}{n+2}M_{n-1} + \frac{3n-3}{n+2}M_{n-2}$

</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A092832
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
（2024年現在、4個が見つかっている）
$$\begin{flalign}&
2, 127, 15511, 953467954114363
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

n/a
</dd>
<dt>出力結果</dt><dd>

n/a
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%84%E3%82%AD%E3%83%B3%E6%95%B0


## ウォール-サン-サン素数
<dl><dt>定義</dt><dd>

:::note info
$\displaystyle F_{p-\left( \frac{p}{5} \right)} \equiv 0 \pmod{p^2}$ を満たす素数 $p$
:::
$F_{n}$ は $n$ 番目のフィボナッチ数、$\left( \frac{p}{5} \right)$はルジャンドル記号で、次で定義する。
$$\displaystyle \left( \frac{p}{5} \right) = \begin{cases}1 & p \equiv 1, 4 \pmod{5} \\\\ -1 & p \equiv 2, 3 \pmod{5}\end{cases}$$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
現在まで発見されておりません。
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>
n/a
</dd>
<dt>出力結果</dt><dd>
n/a
</dd></dl>

https://en.wikipedia.org/wiki/Wall%E2%80%93Sun%E2%80%93Sun_prime

## 双子素数
<dl><dt>定義</dt><dd>

:::note info
$(p, p + 2)$ のどちらも素数である2個の素数の組み
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A001359
https://oeis.org/A006512 ...（$p+2$の方の素数）
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 5, 11, 17, 29, 41, 59, 71, 101, 107, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = filter (\(a,b)->b-a==2) $ zip p $ tail p
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(3,5),(5,7),(11,13),(17,19),(29,31),(41,43),(59,61),(71,73),(101,103),(107,109),(137,139),(149,151),(179,181),(191,193),(197,199),(227,229),(239,241),(269,271),(281,283),(311,313)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E5%8F%8C%E5%AD%90%E7%B4%A0%E6%95%B0

## 三つ子素数
<dl><dt>定義</dt><dd>

:::note info
$(p, p + 2, p + 6)$ または $(p, p + 4, p + 6)$ が全て素数である3個の素数の組み
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A007529
https://oeis.org/A022004 ...$(p, p+2, p+6)$の組みの$p$
https://oeis.org/A022005 ...$(p, p+4, p+6)$の組みの$p$
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 7, 11, 13, 17, 37, 41, 67, 97, 101, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = filter (\(a,b,c) -> (b-a==2 && c-b==4)||(b-a==4 && c-b==2)) $ zip3 p (tail p) (tail (tail p))
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(5,7,11),(7,11,13),(11,13,17),(13,17,19),(17,19,23),(37,41,43),(41,43,47),(67,71,73),(97,101,103),(101,103,107),(103,107,109),(107,109,113),(191,193,197),(193,197,199),(223,227,229),(227,229,233),(277,281,283),(307,311,313),(311,313,317),(347,349,353)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E4%B8%89%E3%81%A4%E5%AD%90%E7%B4%A0%E6%95%B0

## 四つ子素数
<dl><dt>定義</dt><dd>

:::note info
$(p, p + 2, p + 6, p + 8)$ が全て素数である4個の素数の組み
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A007530
https://oeis.org/A136720 ...（２番目の素数）
https://oeis.org/A136721 ...（３番目の素数）
https://oeis.org/A090258 ...（４番目の素数）
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 11, 101, 191, 821, 1481, 1871, 2081, 3251, 3461, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
import Data.List (zip4)
p'' = filter (\(a,b,c,d) -> (b-a==2 && c-b==4 && d-c==2)) $ zip4 p (tail p) ((tail . tail) p) ((tail . tail . tail) p)
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(5,7,11,13),(11,13,17,19),(101,103,107,109),(191,193,197,199),(821,823,827,829),(1481,1483,1487,1489),(1871,1873,1877,1879),(2081,2083,2087,2089),(3251,3253,3257,3259),(3461,3463,3467,3469),(5651,5653,5657,5659),(9431,9433,9437,9439),(13001,13003,13007,13009),(15641,15643,15647,15649),(15731,15733,15737,15739),(16061,16063,16067,16069),(18041,18043,18047,18049),(18911,18913,18917,18919),(19421,19423,19427,19429),(21011,21013,21017,21019)]
```
</dd></dl>

四つ子素数 $(p, p + 2, p + 6, p + 8)$ について、$p − 4$ または $p + 12$ がさらに素数であれば、それらを加えた5つ組を『**五つ子素数**（prime quintuplet）』といい、特に $p − 4$ と $p + 12$ の両方が素数であれば、その6つ組を『**六つ子素数**（prime sextuplet）』といいます。

https://ja.wikipedia.org/wiki/%E5%9B%9B%E3%81%A4%E5%AD%90%E7%B4%A0%E6%95%B0

## いとこ素数
<dl><dt>定義</dt><dd>

:::note info
$(p, p + 4)$ のどちらも素数である2個の素数の組み
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A023200
https://oeis.org/A046132 ...（$p + 4$の方の素数）
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
3, 7, 13, 19, 37, 43, 67, 79, 97, 103, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' =  [(3,7)]++( filter (\(a,b)->b-a==4) $ zip p $ tail p )
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(3,7),(7,11),(13,17),(19,23),(37,41),(43,47),(67,71),(79,83),(97,101),(103,107),(109,113),(127,131),(163,167),(193,197),(223,227),(229,233),(277,281),(307,311),(313,317),(349,353)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%81%84%E3%81%A8%E3%81%93%E7%B4%A0%E6%95%B0

## セクシー素数
<dl><dt>定義</dt><dd>

:::note info
$(p, p + 6)$ のどちらも素数である2個の素数の組み
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A023201
https://oeis.org/A046117 ...（$p + 6$の方の素数）
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
5, 7, 11, 13, 17, 23, 31, 37, 41, 47, \dots
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p'' = [(5,11),(7,13),(11,17),(17,23)]  ++ ( filter (\(a,b)->b-a==6) $ zip p (tail p) )
take 20 p''
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[(5,11),(7,13),(11,17),(17,23),(23,29),(31,37),(47,53),(53,59),(61,67),(73,79),(83,89),(131,137),(151,157),(157,163),(167,173),(173,179),(233,239),(251,257),(257,263),(263,269)]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%BC%E7%B4%A0%E6%95%B0

## 回文素数
<dl><dt>定義</dt><dd>

:::note info
位取り記数法（N進法、通常は十進法）による表記が回文数になっている素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A002385
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>

（ https://t5k.org/top20/page.php?id=53 より）
$$\begin{flalign}&
10^{2000007} - 10^{1127194} - 10^{872812} - 1 \tag{現在発見されている最大}
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
p' = filter (((==) <*> reverse) . show) p
take 100 p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,7,11,101,131,151,181,191,313,353,373,383,727,757,787,797,919,929,10301,10501,10601,11311,11411,12421,12721,12821,13331,13831,13931,14341,14741,15451,15551,16061,16361,16561,16661,17471,17971,18181,18481,19391,19891,19991,30103,30203,30403,30703,30803,31013,31513,32323,32423,33533,34543,34843,35053,35153,35353,35753,36263,36563,37273,37573,38083,38183,38783,39293,70207,70507,70607,71317,71917,72227,72727,73037,73237,73637,74047,74747,75557,76367,76667,77377,77477,77977,78487,78787,78887,79397,79697,79997,90709,91019,93139,93239,93739,94049]
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E5%9B%9E%E6%96%87%E7%B4%A0%E6%95%B0

## 置換可能素数
<dl><dt>定義</dt><dd>

:::note info
任意の桁の数字を置換しても素数となる素数 $p$
:::
</dd>
<dt>オンライン整数列大辞典</dt><dd>

https://oeis.org/A003459
</dd>
<dt>定義を満たす既知の素数 $p$ </dt><dd>
$$\begin{flalign}&
2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 97, 113, 131, 199, 311, 337, 373, 733, 919, 991, 1111111111111111111, 11111111111111111111111
&\\ \end{flalign}$$
</dd>
<dt>出力するプログラム例</dt><dd>

```haskell:
import Data.List (permutations)
p' = filter test p where test = and . map (is_prime' . read) . permutations . show
p'
```
</dd>
<dt>出力結果</dt><dd>

```haskell:
[2,3,5,7,11,13,17,31,37,71,73,79,97,113,131,199,311,337,373,733,919,991^CInterrupted.
```
</dd></dl>

https://ja.wikipedia.org/wiki/%E7%BD%AE%E6%8F%9B%E5%8F%AF%E8%83%BD%E7%B4%A0%E6%95%B0

## そのほかの素数
このほかにも、次のような「名前のついた素数」もあり、WikiPediaのリンク付きで列挙的する形で紹介します。（WikiPediaのページがないものは解説のあるせきゅーんさんのブログ記事や参考記事のリンクに替えてあります）

[タイタニック素数（Titanic prime）](https://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4%E3%82%BF%E3%83%8B%E3%83%83%E3%82%AF%E7%B4%A0%E6%95%B0)：1000桁以上の素数
[巨大素数（Gigantic prime）](https://ja.wikipedia.org/wiki/%E5%B7%A8%E5%A4%A7%E7%B4%A0%E6%95%B0)：1万桁以上の素数
[メガ素数（Megaprime）](https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%AC%E7%B4%A0%E6%95%B0)：100万桁以上の素数

[弱い素数（デリケートな素数）](https://ja.wikipedia.org/wiki/%E5%BC%B1%E3%81%84%E7%B4%A0%E6%95%B0)（ https://oeis.org/A050249 ）
[良い素数](https://ja.wikipedia.org/wiki/%E8%89%AF%E3%81%84%E7%B4%A0%E6%95%B0)（ https://oeis.org/A028388 ）
[切り捨て可能素数](https://ja.wikipedia.org/wiki/%E5%88%87%E3%82%8A%E6%8D%A8%E3%81%A6%E5%8F%AF%E8%83%BD%E7%B4%A0%E6%95%B0)
（左切り捨て可能素数：https://oeis.org/A024785
／右切り捨て可能素数：https://oeis.org/A024770 ）

[ソリナス素数（一般メルセンヌ素数）](https://en.wikipedia.org/wiki/Solinas_prime)（ https://oeis.org/A165255 ）
[ミルズ素数](https://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%AB%E3%82%BA%E3%81%AE%E5%AE%9A%E6%95%B0#%E3%83%9F%E3%83%AB%E3%82%BA%E7%B4%A0%E6%95%B0) （ https://oeis.org/A051254 ）　
[ラッキー素数 ｜ 幸運素数](https://ja.wikipedia.org/wiki/%E5%B9%B8%E9%81%8B%E6%95%B0) （ https://oeis.org/A031157 ）
[ハッピー素数](https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%83%94%E3%83%BC%E6%95%B0)（ https://oeis.org/A035497 ）

[エマープ素数](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%9E%E3%83%BC%E3%83%97)（ https://oeis.org/A006567 ）
[レピュニット素数](https://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%94%E3%83%A5%E3%83%8B%E3%83%83%E3%83%88)（ https://oeis.org/A004022 ）
[ストロボグラマティック素数](https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%88%E3%83%AD%E3%83%9C%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E6%95%B0)（ https://oeis.org/A007597 ）
[二面体素数（Dihedral素数）](https://en.wikipedia.org/wiki/Dihedral_prime)（ https://oeis.org/A134996 ）
[ホーム素数](https://en.wikipedia.org/wiki/Home_prime)（ https://oeis.org/A037274 ）
[スマランダチェ-ウェリン素数](https://en.wikipedia.org/wiki/Smarandache%E2%80%93Wellin_number#Smarandache%E2%80%93Wellin_prime)（ https://oeis.org/A069151 ）
[スマランダチェ素数｜逆スマランダチェ素数](https://googology.fandom.com/ja/wiki/%E3%82%B9%E3%83%9E%E3%83%A9%E3%83%B3%E3%83%80%E3%83%81%E3%82%A7%E6%95%B0)
[ベルフェゴール素数](https://ja.wikipedia.org/wiki/%E3%83%99%E3%83%AB%E3%83%95%E3%82%A7%E3%82%B4%E3%83%BC%E3%83%AB%E7%B4%A0%E6%95%B0)

[ウィリアムズ素数](https://en.wikipedia.org/wiki/Williams_number)
[レルヒ素数](https://integers.hatenablog.com/entry/2016/04/08/172007)（ https://oeis.org/A197632 ）
[ウラム素数](https://en.wikipedia.org/wiki/Ulam_number)（ https://oeis.org/A068820 ）
[通常素数](https://integers.hatenablog.com/entry/2016/05/22/155537)（ https://oeis.org/A007659 ）｜非通常素数
[ホネイカー素数](https://integers.hatenablog.com/entry/2017/08/30/022000)（ https://oeis.org/A033548 ）

[違法素数](https://ja.wikipedia.org/wiki/%E9%81%95%E6%B3%95%E7%B4%A0%E6%95%B0)
[グロタンディーク素数](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AC%E3%82%AF%E3%82%B5%E3%83%B3%E3%83%89%E3%83%AB%E3%83%BB%E3%82%B0%E3%83%AD%E3%82%BF%E3%83%B3%E3%83%87%E3%82%A3%E3%83%BC%E3%82%AF#%E9%80%B8%E8%A9%B1)（57、素数ではない）
ブンゲン素数（91、素数ではない）［出典：https://x.com/FumiharuKato/status/1123801751231057920 ］

## おわりに
いかがでしたでしょうか。ここで例示したHaskellプログラムは決して効率のよい例ではありません。改善してみたり、ほかのプログラミング言語で実装してみたりすると、夏休みの自由研究もより深く豊かになりそうです。お試し頂けると嬉しいです。

なお、ここでは実数の範囲での素数を取り上げましたが、本稿で紹介したもの以外にも、複素数にまで定義域を広げた整数で定義される素数として『**ガウス素数**』や『**アイゼンシュタイン素数**』などもあります。

https://ja.wikipedia.org/wiki/%E3%82%AC%E3%82%A6%E3%82%B9%E6%95%B4%E6%95%B0#%E3%82%AC%E3%82%A6%E3%82%B9%E7%B4%A0%E6%95%B0

https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A4%E3%82%BC%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E6%95%B4%E6%95%B0#%E3%82%A2%E3%82%A4%E3%82%BC%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E7%B4%A0%E6%95%B0

最後に、本稿を記載するために検証したHaskell環境を記しておきます。お手元の環境で検証する際に、動作が異なるときには参考になるかもしれません。

<details><summary>本稿の環境</summary>
本稿のために使用した環境は以下となります。

* macOS: Sonoma 14.5 (chip: Apple M1)
* GHCup: 0.1.30.0
* GHC: 9.6.4
</details>

ご一読いただきまして有り難うございます。
（●）（●） Happy Hacking!
/""　＿＿""＼

[^ref1]: [ウォルステンホルム素数](https://qiita.com/kyamaz/items/848f4868b9055bc09fc0)
[^ref2]: [カレン素数とウッダル素数](https://qiita.com/kyamaz/items/7b73265525cd9ebe4f31)
[^ref3]: [ヴィーフェリッヒ素数](https://qiita.com/kyamaz/items/d550448562f07b9d75fb)
[^ref4]: [キネア素数とキャロル素数](https://qiita.com/kyamaz/items/04b1a58ef7a25e988a76)
[^ref5]: [プロス素数とピアポイント素数](https://qiita.com/kyamaz/items/98d6fa9b4dbd0de52284)
[^ref6]: [ワグスタッフ素数](https://qiita.com/kyamaz/items/08d73cc92ac6a40c9952)
[^ref7]: [ウィルソン素数](https://qiita.com/kyamaz/items/2d7804d95af63e96bdfb)
[^ref8]: [ピタゴラス素数](https://qiita.com/kyamaz/items/7c07ae7a995a6d42d025)
[^ref9]: [ユークリッド素数とクンマー素数（素数階乗素数）](https://qiita.com/kyamaz/items/f6758b2af741ca8029c4)
[^ref10]: [ソフィー・ジェルマン素数と安全素数](https://qiita.com/kyamaz/items/8ea10cc461b6750a8f90)
[^ref11]: [メルセンヌ素数](https://qiita.com/kyamaz/items/8e5ca4fde1f7246d5968)
[^ref12]: [回文素数](https://qiita.com/kyamaz/items/295a1baa9b928ca9dc07)