숫자 n이 주어지면, n 번째 소수 Fermat 수를 인쇄하십시오 . 여기서 Fermat 수는 2 2 k +1 형식 입니다. 이> N 4.를 종료 할 것으로 예상되지는 않지만이 코드는 이론적 상관 없음에 대한 작업 (즉, 그것을 하드 코딩하지 않음), (그것은해야한다 하지 4294967297가 소수 아니므로, 대한 4,294,967,297 N = 5를 반환합니다.)
모든 Fermat 프라임은 2 2 n +1 형식 이지만 2 2 n +1 형식의 모든 숫자가 소수는 아닙니다 . 이 과제의 목표는 n 번째 소수 를 반환하는 것 입니다.
테스트 사례
0 -> 3
1 -> 5
2 -> 17
3 -> 257
4 -> 65537
규칙
- 표준 허점은 허용되지 않습니다.
- 0 인덱싱 및 1 인덱싱이 모두 허용됩니다.
- 이것은 code-golf , 가장 낮은 바이트 수의 승리입니다.
관련 : 구성 가능한 n- 곤
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가 첫 번째 비 프라임) 인 경우 프로그램이 작동하지 않을 것으로 예상됩니다.