Для заданного числа n выведите n-е простое число Ферма, где числа Ферма имеют вид 2 2 k +1. Этот код теоретически должен работать для любого n (т. Е. Не кодировать его жестко), хотя он не должен завершаться при n> 4. (Он не должен возвращать 4294967297 при n = 5, поскольку 4294967297 не является простым числом.)
Обратите внимание, что хотя все простые числа Ферма имеют вид 2 2 n +1, не все числа вида 2 2 n +1 являются простыми. Цель этой задачи - вернуть n-е простое число.
Контрольные примеры
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
правила
- Стандартные лазейки запрещены.
- 0-индексация и 1-индексация допустимы.
- Это код-гольф , побеждает наименьшее количество байтов.
Связанный: Строимые н-гоны
n=1:4
. Все простые числа Ферма имеют форму 2^2^n+1
, но это не означает, что все числа формы 2^2^n+1
на самом деле простые. Это является в случае n=1:4
, но не n=5
например.
n
и выходные данные должны иметь форму 2^(2^n)+1
. Если вы используете разные переменные для ввода и показателя степени, то некоторая путаница может быть уменьшена. Также может помочь, если вы явно заявите, что «n = 5 не нужно выводить в разумные сроки, но не должно выводить 4294967297»
2^(2^n) + 1
, гдеn
ввод? Это согласуется с вашими тестами (которые, как мы знаем, уже просты, поэтому нет необходимости проверять). И вы не ожидаете, что программа будет работать там, где n> 4 (а n = 5 - первое не простое число).