质数幂是一个正整数n,可以按n = p k的形式写,其中p是素数,k是一个正整数。例如,一些主要力量是[2, 3, 5, 4, 9, 25, 8, 27, 125]
。
接下来,考虑2的质数幂。这些是[2, 4, 8, 16, ...]
并且可以2 k的形式写成。当考虑低于20的素数幂时,将全部包括在内。但是,16是最大素数,在该范围内基本素数为2。素数幂p ķ是最大的范围,如果它是最高功率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的最大主要功率的完整列表。