Una potenza primaria è un numero intero n che può essere scritto nella forma n = p k dove p è un numero primo e k è un numero intero positivo. Ad esempio, alcuni poteri principali sono [2, 3, 5, 4, 9, 25, 8, 27, 125]
.
Quindi, considera i poteri primi di 2. Questi sono [2, 4, 8, 16, ...]
e possono essere scritti nella forma 2 k . Sarebbero tutti inclusi quando si considerano le potenze primi inferiori a 20. Tuttavia, 16 è la massima potenza massima con un numero base base di 2 in tale intervallo. Una potenza primaria p k è massima in un intervallo se è la massima potenza di p in quell'intervallo. Siamo interessati solo alla massima potenza massima in ogni intervallo, quindi tutte le prime potenze inferiori devono essere escluse.
Il tuo obiettivo è quello di scrivere una funzione o un programma che accetta un numero intero positivo n e genera le potenze primi massime nell'intervallo [2, 3, 4, ..., n]
.
Grazie a @ Peter Taylor per aver chiarito la definizione di massima potenza primaria e altro ancora.
Regole
- Questo è code-golf, quindi rendi il tuo codice il più breve possibile.
- Le massime potenze prime possono essere emesse in qualsiasi ordine ma non devono esserci duplicati.
Casi test
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]
L'elenco completo delle massime potenze prime per 10000 è disponibile qui .