Wenn eine Zahl n gegeben ist, drucken Sie die n-te Primzahl Fermat, wobei die Fermat-Zahlen die Form 2 2 k + 1 haben. Dieser Code sollte theoretisch Arbeit für jeden n (dh sie codieren es nicht), obwohl es nicht für n beenden , wird erwartet , dass> 4. (Es sollte nicht 4294967297 Rück für n = 5, als 4294967297 keine Primzahl ist.)
Beachten Sie, dass zwar alle Fermat-Primzahlen die Form 2 2 n + 1 haben, jedoch nicht alle Zahlen der Form 2 2 n + 1 Primzahlen sind. Das Ziel dieser Herausforderung ist es, die n-te Primzahl zurückzugeben.
Testfälle
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
Regeln
- Standardlücken sind nicht zulässig.
- 0-Indizierung und 1-Indizierung sind beide akzeptabel.
- Dies ist Code-Golf , niedrigste Byte-Anzahl gewinnt.
Verwandte: Konstruierbare n-Gons
n=1:4. Alle Fermat-Primzahlen haben die Form 2^2^n+1, aber das bedeutet nicht, dass alle Zahlen der Form 2^2^n+1tatsächlich Primzahlen sind. Dies ist zum Beispiel der Fall n=1:4, aber nicht n=5zum Beispiel.
nund die Ausgabe von der Form sein muss 2^(2^n)+1. Wenn Sie unterschiedliche Variablen für die Eingabe und den Exponenten verwenden, kann dies zu Verwirrung führen. Es kann auch hilfreich sein, wenn Sie ausdrücklich angeben, dass "n = 5 nicht in angemessener Zeit ausgegeben werden muss, aber nicht 4294967297"
2^(2^n) + 1, wonist die Eingabe? Dies stimmt mit Ihren Testfällen überein (von denen wir wissen, dass sie bereits erstklassig sind, sodass keine Überprüfung erforderlich ist). Und Sie erwarten nicht, dass das Programm funktioniert, wenn n> 4 ist (und n = 5 die erste Nicht-Primzahl ist).