素数の累乗は、n = p kの形式で記述できる正の整数nです。ここで、pは素数、kは正の整数です。たとえば、いくつかの主要な力はです。[2, 3, 5, 4, 9, 25, 8, 27, 125]
次に、2の主なべき乗を考えます。これらは[2, 4, 8, 16, ...]
2 kの形式で記述できます。20未満の素数の累乗を考慮する場合、それらはすべて含まれます。ただし、16はその範囲内の2の基本素数を持つ最大素数の累乗です。プライムパワーp kは、その範囲内のpの最大パワーである場合、その範囲内で最大になります。各範囲の最大素数にのみ関心があるため、それより低いすべての素数を除外する必要があります。
あなたの目標は、正の整数nを取り、その範囲の最大素数を出力する関数またはプログラムを書くことです[2, 3, 4, ..., n]
。
最大プライムパワーなどの定義を明確にしてくれた@ Peter Taylorに感謝します。
ルール
- これはコードゴルフですので、コードをできるだけ短くしてください。
- 最大の素数の力は、任意の順序で出力することもできるが、何の重複があってはなりません。
テストケース
n result
1 []
2 [2]
3 [2, 3]
4 [3, 4]
5 [3, 4, 5]
6 [3, 4, 5]
7 [3, 4, 5, 7]
20 [5, 7, 9, 11, 13, 16, 17, 19]
50 [11, 13, 17, 19, 23, 25, 27, 29, 31, 32, 37, 41, 43, 47, 49]
100 [11, 13, 17, 19, 23, 25, 29, 31, 37, 41, 43, 47, 49, 53, 59, 61, 64, 67, 71, 73, 79, 81, 83, 89, 97]
10000 <1229 results>
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, ..., 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973]
10000の最大素数の完全なリストはここにあります。