数値nを指定して、n番目の素数フェルマー数を出力します。フェルマー数は2 2 k +1の形式です。このコードは、理論的にはどのnでも機能します(つまり、ハードコードしないでください)。ただし、n> 4で終了することは想定されていません(4294967297は素数ではないため、n = 5の場合は4294967297を返しません。)
すべてのフェルマー素数は2 2 n +1の形式ですが、2 2 n +1 形式のすべての数が素数ではないことに注意してください。このチャレンジの目標は、n番目の素数を返すことです。
テストケース
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
ルール
- 標準の抜け穴は許可されていません。
- 0インデックスと1インデックスはどちらも使用できます。
- これはcode-golfで、バイト数が最も少ない勝利です。
関連:構築可能なnゴン
n=1:4
ます。すべてのフェルマー素数はの形式2^2^n+1
ですが、それは、形式のすべての数2^2^n+1
が実際に素数であることを意味しません。これはの場合ですがn=1:4
、n=5
たとえばそうではありません。
n
あり、出力はの形式でなければならないということです2^(2^n)+1
。入力と指数に異なる変数を使用すると、混乱が少なくなる可能性があります。「n = 5は妥当な時間内に出力する必要はないが、4294967297を出力してはならない」と明示的に述べると役立つ場合もあります
2^(2^n) + 1
でn
はなく、入力はどこにあるのでしょうか。これは、テストケースと一致します(これは既にプライムであるため、確認する必要はありません)。また、プログラムがn> 4で機能することを期待していません(n = 5が最初の非素数です)。