Uma potência principal é um número inteiro positivo n que pode ser escrito na forma n = p k, em que p é um número primo e k é um número inteiro positivo. Por exemplo, alguns poderes principais são [2, 3, 5, 4, 9, 25, 8, 27, 125]
.
Em seguida, considere potências primárias de 2. Essas são [2, 4, 8, 16, ...]
e podem ser escritas no formato 2 k . Todos seriam incluídos ao considerar potências primárias abaixo de 20. No entanto, 16 é a potência primária máxima com uma base primária de 2 nesse intervalo. Um primo de energia p k é máxima em um intervalo se ele é o mais alto poder de p nesse intervalo. Estamos interessados apenas na potência primária máxima em cada faixa, portanto todas as potências primárias inferiores devem ser excluídas.
Seu objetivo é escrever uma função ou programa que use um número inteiro positivo n e produza as potências primárias máximas no intervalo [2, 3, 4, ..., n]
.
Agradecemos a Peter Taylor por esclarecer a definição de potência primária máxima e muito mais.
Regras
- Isso é código-golfe, então faça seu código o mais curto possível.
- As potências primárias máximas podem ser emitidas em qualquer ordem, mas não deve haver duplicatas.
Casos de teste
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]
A lista completa de potências primárias máximas para 10000 pode ser encontrada aqui .