다음 소수를 찾을 프로그램 사람이 2^74,207,281 − 1$ 100.000를

소개 :


실수로 재미있게 만든 장치로 시간 흐름을 실수로 손상 시켰습니다. 결과적으로, 당신은 먼 미래로 밀려났습니다. 컴퓨팅, 처리 능력 및 컴퓨터는 일반적으로 엄청나게 많은 양, 정밀하게 진화되었다는 것을 깨달았습니다 . 그래서 당신은 무한한 메모리와 처리 능력을 가진 컴퓨터를 사십시오. 당신은 그것이 어떻게 무한한 기억과 무한한 처리 능력을 가질 수 있는지 모릅니다. 그러나 당신은 그것을 받아들이고 현재로 돌아갑니다.

도전:


당신은 현재 가장 큰 프라임을 발견 한 사람이 2^74,207,281 − 1$ 100.000를 지불 했다고 들었습니다 . 당신은 당신이 컴퓨터에 쓴 돈을 되찾고 싶어서 다음 프라임을 찾는 프로그램을 만들기로 결정했습니다. 숫자를 입력하고 무차별 또는 다른 방법으로 다음 소수를 찾습니다.

설명 :
메모리와 처리 능력이 무한한 가상 머신이 있습니다. 프로그램은 제한되어서는 안됩니다 (예 : C # ‘s int ‘s -2,147,483,648to to to to 2,147,483,647). 프로그램은 어떤 크기로도 저장하고 사용할 수 있어야합니다. 당신은 무한한 자원을 가지고 있기 때문에, 당신이 그것을 허용한다면 메모리가 부족한 경우 신경 쓰지 않아야합니다.

예제 I / O :
입력 : 22,338,618 자리의 현재 가장 큰 발견 된 소수.
출력 : 정확히 다음 소수

분명히 실제 머신에서 계산하는 데 많은 시간이 걸리기 때문에 작동한다는 것을 증명할 필요는 없습니다. 그러나 무한 처리 능력 / 메모리를 가진 가상의 기계로 프로그램을 옮겼다면 즉시 계산해야합니다.


다음 소수를 찾고 숫자가 소수인지 확인하는 것은 완전히 다른 두 가지입니다.



답변

수학, 9 바이트

NextPrime

답변

파이썬 3 , 45 바이트

f=lambda n,k=1,m=1:m%k*k>n or-~f(n,k+1,m*k*k)

온라인으로 사용해보십시오!


답변

파이썬 2, 78 77 76 74 바이트

def f(n):
 while 1:
    n+=1
    if[i for i in range(1,n)if n%i<1]==[1]:return n

@KritixiLithos 덕분에
-1 바이트 @FlipTack 덕분에 -1 바이트 @ElPedro 덕분에
-2 바이트


답변

젤리 , 2 바이트

Æn

온라인으로 사용해보십시오!

이것은 암시 적으로 입력 z를 취하고 매뉴얼에 따르면 z보다 엄격하게 가장 가까운 소수를 생성합니다.


답변

오아시스 , 2 바이트

-n플래그로 실행하십시오 .

암호:

p

온라인으로 사용해보십시오!


답변

Bash + coreutils, 52 바이트

for((n=$1,n++;`factor $n|wc -w`-2;n++)){ :;};echo $n

온라인으로 사용해보십시오!

bash 및 factor에 대한 문서는 처리 할 수있는 최대 정수 값을 지정하지 않습니다 (실제로 각 구현에는 최대 정수 값이 있음). 아마도 미래의 GNU에서 무한히 큰 머신에서 bash와 factor는 무제한 크기의 정수를 가질 것입니다.


답변

Maxima, 10 바이트

next_prime

함수는 인수보다 큰 가장 작은 소수를 반환합니다.