Cho một số n, in số Fermat nguyên tố thứ n , trong đó các số Fermat có dạng 2 2 k +1. Mã này nên về mặt lý thuyết làm việc cho bất kỳ n (tức là không hardcode nó), mặc dù nó không được kỳ vọng sẽ chấm dứt đối với n> 4. (Nó nên không trở 4294967297 cho n = 5, như 4294967297 không phải là một số nguyên tố.)
Xin lưu ý rằng mặc dù tất cả các số nguyên tố Fermat đều có dạng 2 2 n +1, nhưng không phải tất cả các số có dạng 2 2 n +1 đều là số nguyên tố. Mục tiêu của thử thách này là trả lại số nguyên tố thứ n .
Các trường hợp thử nghiệm
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
Quy tắc
- Sơ hở tiêu chuẩn là không được phép.
- Cả hai chỉ mục và 1 chỉ mục đều được chấp nhận.
- Đây là môn đánh gôn , đánh số byte thấp nhất.
Liên quan: n-gons xây dựng
n=1:4
. Tất cả các số nguyên tố fermat đều có dạng 2^2^n+1
, nhưng điều đó không có nghĩa là tất cả các số của mẫu 2^2^n+1
đều thực sự là số nguyên tố. Đây là trường hợp cho n=1:4
, nhưng không phải là n=5
ví dụ.
n
và đầu ra phải có dạng 2^(2^n)+1
. Nếu bạn sử dụng các biến khác nhau cho đầu vào và số mũ thì một số nhầm lẫn có thể được giảm bớt. Nó cũng có thể hữu ích nếu bạn tuyên bố rõ ràng rằng "n = 5 không cần xuất trong thời gian hợp lý, nhưng không được xuất 4294967297"
2^(2^n) + 1
,n
đầu vào ở đâu? Điều này phù hợp với các trường hợp thử nghiệm của bạn (mà chúng tôi biết là đã là số nguyên tố, vì vậy không cần phải kiểm tra). Và bạn không mong đợi chương trình hoạt động trong đó n> 4 (và n = 5 là số nguyên tố đầu tiên).