Dado um número n, imprimir o enésimo privilegiada número Fermat, onde os números de Fermat são da forma 2 2 k +1. Este código deve teoricamente obra para qualquer n (ou seja, não codificá-lo), embora não se espera para terminar para n> 4. (Deve não voltar 4294967297 para n = 5, como 4294967297 não é um número primo.)
Observe que, embora todos os números primos Fermat tenham a forma 2 2 n +1, nem todos os números da forma 2 2 n +1 são primos. O objetivo deste desafio é retornar o n-ésimo primo.
Casos de teste
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
Regras
- As brechas padrão não são permitidas.
- A indexação 0 e a indexação 1 são aceitáveis.
- Isso é código-golfe , vitórias mais baixas na contagem de bytes.
Related: n-gons construtíveis
n=1:4
. Todos os números primos fermat são da forma 2^2^n+1
, mas isso não significa que todos os números da forma 2^2^n+1
sejam realmente primos. Este é o caso n=1:4
, mas não n=5
por exemplo.
n
e a saída deve estar no formato 2^(2^n)+1
. Se você usar variáveis diferentes para a entrada e o expoente, alguma confusão poderá ser reduzida. Também pode ajudar se você declarar explicitamente que "n = 5 não precisa ser produzido em tempo razoável, mas não deve ser produzido 4294967297" #
2^(2^n) + 1
, onden
está a entrada? Isso está alinhado com seus casos de teste (que sabemos que já são excelentes, portanto não há necessidade de verificar). E você não espera que o programa funcione onde n> 4 (en = 5 é o primeiro não primo).