Una potencia prima es un número entero positivo n que se puede escribir en la forma n = p k donde p es un número primo yk es un número entero positivo. Por ejemplo, algunas potencias principales son [2, 3, 5, 4, 9, 25, 8, 27, 125]
.
A continuación, considere los poderes primarios de 2. Estos son [2, 4, 8, 16, ...]
y pueden escribirse en la forma 2 k . Todos se incluirían al considerar las potencias principales por debajo de 20. Sin embargo, 16 es la potencia principal máxima con una base de 2 en ese rango. Una potencia primaria p k es máxima en un rango si es la potencia más alta de p en ese rango. Solo estamos interesados en la potencia primaria máxima en cada rango, por lo que todas las potencias primarias inferiores deben excluirse.
Su objetivo es escribir una función o programa que tome un número entero positivo n y produzca las potencias máximas máximas en el rango [2, 3, 4, ..., n]
.
Gracias a @ Peter Taylor por aclarar la definición de potencia máxima máxima y más.
Reglas
- Este es el código de golf, así que haga su código lo más corto posible.
- Las potencias máximas máximas se pueden emitir en cualquier orden, pero no debe haber duplicados.
Casos de prueba
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]
La lista completa de potencias máximas máximas para 10000 se puede encontrar aquí .