Biorąc pod uwagę liczbę n, wydrukuj n-tą pierwszą liczbę Fermata, gdzie liczby Fermata mają postać 2 2 k +1. Kod ten powinien teoretycznie praca dla każdego n (czyli nie hardcode go), choć nie należy się spodziewać, aby zakończyć dla n> 4. (Należy nie powrócić 4294967297 dla n = 5, jak 4294967297 nie jest liczbą pierwszą).
Zauważ, że chociaż wszystkie liczby pierwsze Fermata mają postać 2 2 n +1, nie wszystkie liczby w postaci 2 2 n +1 są pierwsze. Celem tego wyzwania jest zwrócenie n-tej liczby pierwszej.
Przypadki testowe
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
Zasady
- Standardowe luki są niedozwolone.
- Zarówno indeksowanie 0, jak i indeksowanie 1 są dopuszczalne.
- To jest golf golfowy , wygrana o najniższej liczbie bajtów.
Powiązane: Konstruowalne n-gony
n=1:4. Wszystkie liczby pierwsze Fermata mają postać 2^2^n+1, ale to nie znaczy, że wszystkie liczby postaci 2^2^n+1są rzeczywiście pierwsze. Tak jest na przykład n=1:4, ale nie n=5na przykład.
na dane wyjściowe muszą mieć formę 2^(2^n)+1. Jeśli użyjesz różnych zmiennych dla danych wejściowych i wykładnika, pewne zamieszanie może zostać zmniejszone. Może to również pomóc, jeśli wyraźnie oświadczysz, że „n = 5 nie musi generować danych w rozsądnym czasie, ale nie może generować 4294967297”
2^(2^n) + 1, gdzienjest wejście? Jest to zgodne z twoimi przypadkami testowymi (które, jak wiemy, są już pierwsze, więc nie musisz tego sprawdzać). I nie spodziewasz się, że program będzie działał tam, gdzie n> 4 (a n = 5 jest pierwszą nie-pierwszą).