Bir n sayısı verildiğinde, nci asal Fermat numarasını yazdırın , burada Fermat numaraları 2 2 k +1 biçimindedir . O> n 4. sonlandırmak beklenmemektedir rağmen bu kod teorik olarak hiç n için çalışma (yani hardcode yoktur), (O gerektiğine değil 4294967297 asal sayı değildir gibi için 4294967297 n = 5 dönün.)
Tüm Fermat primerlerinin 2 2 n +1 biçimindeyken, 2 2 n +1 biçiminin tüm sayılarının asal olmadığını unutmayın. Bu zorluğun amacı, n .
Test senaryoları
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
kurallar
- Standart boşluklara izin verilmez.
- 0-indeksleme ve 1-indeksleme kabul edilebilir.
- Bu kod golf , en düşük bayt sayısı kazanır.
İlgili: İnşa edilebilir n-gons
n=1:4
. Tüm fermat primerleri formdadır 2^2^n+1
, ancak bu formun tüm sayılarının 2^2^n+1
aslında asal olduğu anlamına gelmez . Bu durum söz konusudur n=1:4
, n=5
örneğin değil .
n
ve çıktının formda olması gerektiğini söylüyorsunuz 2^(2^n)+1
. Girdi ve üs için farklı değişkenler kullanırsanız, bazı karışıklıklar azalabilir. Ayrıca "n = 5'in makul bir zamanda çıktı alması gerekmediğini, ancak 4294967297 çıktısı almaması gerektiğini" belirtirseniz de yardımcı olabilir
2^(2^n) + 1
nereden
? Bu, test durumlarınızla aynı çizgide (bildiğimiz kadarıyla birinci sınıf, bu yüzden kontrol etmeye gerek yok). Ve programın n> 4 olduğu yerde çalışmasını beklemiyorsunuz (ve n = 5 ilk asal olmayan).