Moc pierwsza jest dodatnią liczbą całkowitą n, którą można zapisać w postaci n = p k, gdzie p jest liczbą pierwszą, a k jest liczbą całkowitą dodatnią. Na przykład niektóre główne moce są [2, 3, 5, 4, 9, 25, 8, 27, 125]
.
Następnie rozważmy podstawowe potęgi 2. Są [2, 4, 8, 16, ...]
i mogą być zapisane w formie 2 k . Wszystkie zostaną uwzględnione przy rozważaniu mocy pierwszych poniżej 20. Jednak 16 to maksymalna moc pierwotna z podstawową liczbą pierwszą 2 w tym zakresie. Moc pierwotna p k jest maksymalna w zakresie, jeśli jest to najwyższa moc p w tym zakresie. Interesuje nas tylko maksymalna moc pierwotna w każdym zakresie, więc należy wykluczyć wszystkie niższe moce podstawowe.
Twoim celem jest napisanie funkcji lub programu, który przyjmuje dodatnią liczbę całkowitą n i wyprowadza maksymalne liczby pierwsze w zakresie [2, 3, 4, ..., n]
.
Podziękowania dla @ Peter Taylor za wyjaśnienie definicji maksymalnej mocy pierwotnej i nie tylko.
Zasady
- To jest golf golfowy, więc ustaw swój kod tak krótko, jak to możliwe.
- Te maksymalne prime uprawnienia mogą być wyprowadzane w dowolnej kolejności, ale nie może być żadnych duplikatów.
Przypadki testowe
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]
Pełną listę maksymalnych mocy pierwszych dla 10000 można znaleźć tutaj .