Dato un numero n, stampa l'ennesimo numero primo di Fermat, dove i numeri di Fermat sono nel formato 2 2 k +1. Questo codice dovrebbe in teoria per qualsiasi n (cioè non hardcode esso), anche se non si prevede di sospendere per n> 4. (Dovrebbe non tornare 4.294.967,297 mila per n = 5, come 4.294.967,297 mila non è un numero primo.)
Si noti che mentre tutti i numeri primi Fermat sono nella forma 2 2 n +1, non tutti i numeri della forma 2 2 n +1 sono primi. L'obiettivo di questa sfida è restituire l'ennesimo numero primo.
Casi test
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
Regole
- Le scappatoie standard non sono ammesse.
- 0-indicizzazione e 1-indicizzazione sono entrambi accettabili.
- Questo è code-golf , vince il conteggio dei byte più basso.
Correlati: n-gons costruibili
n=1:4
. Tutti i numeri primi fermati sono della forma 2^2^n+1
, ma ciò non significa che tutti i numeri della forma 2^2^n+1
siano in realtà primi. Questo è il caso n=1:4
, ma non n=5
per esempio.
n
e l'output deve essere della forma 2^(2^n)+1
. Se si utilizzano variabili diverse per l'input e l'esponente, si potrebbe ridurre la confusione. Potrebbe anche essere utile se dichiari esplicitamente che "n = 5 non deve essere emesso in tempo ragionevole, ma non deve produrre 4294967297"
2^(2^n) + 1
, dov'èn
l'input? Ciò si allinea ai casi di test (che sappiamo essere già primi, quindi non è necessario verificarli). E non ti aspetti che il programma funzioni dove n> 4 (e n = 5 è il primo non primo).