Étant donné un nombre n, imprimez le nième nombre de Fermat premier , où les nombres de Fermat sont de la forme 2 2 k +1. Ce code devrait théoriquement fonctionner pour tout n (c'est-à-dire ne pas le coder en dur), bien qu'il ne devrait pas se terminer pour n> 4. (Il ne devrait pas retourner 4294967297 pour n = 5, car 4294967297 n'est pas un nombre premier.)
Notez que si tous les nombres premiers de Fermat sont de la forme 2 2 n +1, tous les nombres de la forme 2 2 n +1 ne sont pas premiers. Le but de ce défi est de rendre le nième nombre premier.
Cas de test
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
Règles
- Les failles standard ne sont pas autorisées.
- L'indexation 0 et l'indexation 1 sont toutes deux acceptables.
- Il s'agit du code-golf , le plus petit nombre de victoires d'octets.
Connexes: n-gons constructibles
n=1:4
. Tous les nombres premiers fermat sont de la forme 2^2^n+1
, mais cela ne signifie pas que tous les nombres de la forme 2^2^n+1
sont réellement premiers. C'est le cas n=1:4
, mais pas n=5
par exemple.
n
et que la sortie doit être de la forme 2^(2^n)+1
. Si vous utilisez différentes variables pour l'entrée et l'exposant, une certaine confusion peut être réduite. Cela peut également aider si vous déclarez explicitement que "n = 5 n'a pas besoin de sortir dans un délai raisonnable, mais qu'il ne doit pas sortir 4294967297"
2^(2^n) + 1
, oùn
est l'entrée? Cela correspond à vos cas de test (que nous savons déjà excellents, il n'est donc pas nécessaire de vérifier). Et vous ne vous attendez pas à ce que le programme fonctionne où n> 4 (et n = 5 est le premier non premier).