Eine Primzahlpotenz ist eine positive ganze Zahl n das kann in der Form geschrieben werden , n = p k wobei p eine Primzahl ist und k eine positive ganze Zahl. Zum Beispiel sind einige Primkräfte [2, 3, 5, 4, 9, 25, 8, 27, 125]
.
Als nächstes betrachten [2, 4, 8, 16, ...]
wir Primzahlen von 2. Diese sind und können in der Form 2 k geschrieben werden . Sie werden alle berücksichtigt, wenn Primzahlen unter 20 berücksichtigt werden. 16 ist jedoch die maximale Primzahl mit einer Basisprimzahl von 2 in diesem Bereich. Eine Primzahlleistung p k ist maximal in einem Bereich, wenn es die höchste Leistung von p in diesem Bereich ist. Wir sind nur an der maximalen Primleistung in jedem Bereich interessiert , daher müssen alle niedrigeren Primleistungen ausgeschlossen werden.
Ihr Ziel ist es, eine Funktion oder ein Programm zu schreiben, das eine positive ganze Zahl n annimmt und die maximalen Primzahlen im Bereich ausgibt [2, 3, 4, ..., n]
.
Vielen Dank an @ Peter Taylor für die Klärung der Definition von maximaler Primkraft und mehr.
Regeln
- Das ist Code-Golf, also mach deinen Code so kurz wie möglich.
- Die maximalen Primzahlen können in beliebiger Reihenfolge ausgegeben werden, es dürfen jedoch keine Duplikate vorhanden sein.
Testfälle
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]
Die vollständige Liste der maximalen Primzahlen für 10000 finden Sie hier .