깨끗한 세상을 프라이밍


11

원시 세계 프로그래밍에서 큰 영향을 받았습니다 . 또한 이 도전 과 밀접한 관련 있습니다.


원시 소수 를 그 자체가 소수 인 숫자로 정의 하지만 N 기본 10 자리의 연속 된 하위 문자열을 제거하면 더 이상 소수가되지 않습니다 0 < N < digits in number.

예를 들어, 409 자체는 소수이므로 409는 원시 소수이지만 1 자리의 하위 문자열을 제거하여 생성 된 모든 숫자는 소수가 아닙니다.

40
49
09 = 9

길이 2의 하위 문자열을 제거하여 발생하는 모든 숫자는 소수가 아닙니다.

4
9

반면, 소수 439는 깨끗하지 않습니다. 다른 부분 문자열을 제거하면 다음과 같은 결과가 발생합니다.

43
49
39
4
9

49, 39, 4 및 9는 모두 프라임이 아닌 반면 43 소수입니다. 따라서 439는 깨끗하지 않습니다.

2, 3, 5 및 7은 하위 문자열을 제거 할 수 없기 때문에 아주 깨끗합니다.

도전

당신의 도전은 양의 정수 N을 받아 N 번째 원시 소수를 출력하는 프로그램이나 함수를 만드는 것입니다. 코드는 최신 PC에서 1 분 안에 최대 50 개의 입력을 완료해야합니다.

바이트 단위의 가장 짧은 코드가 이깁니다.

참고로, 처음 20 개의 원시 소수는 다음과 같습니다.

N    Pristine prime
1    2
2    3
3    5
4    7
5    11
6    19
7    41
8    61
9    89
10   409
11   449
12   499
13   821
14   881
15   991
16   6299
17   6469
18   6869
19   6899
20   6949

다음 은 최대 1e7까지의 원시 소수 또는 N = 376의 전체 목록입니다.

마지막으로 두 가지 관련 OEIS 항목이 있습니다.

  • A033274 : 매우 유사하지만 하위 문자열을 제거하는 대신 유지하여 생성됩니다.
  • A071062 : 이상하게 비슷하지만 훨씬 다른 방식으로 생성됩니다.

답변:


5

Pyth, 29 바이트

e.f>}ZPZsmq1lPs.D`Z}Fd.CU`Z2Q

골프, 설명 등.



3

Japt, 61 바이트

$while(V<U)T$°,W=Ts ,Tj «Wl o d@1o1-X+Wl)dZ{WjYZ n j} } ©V°;T

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

아직 Japt에서 루프를 구현하지 않은 것은 부끄러운 일입니다. 그렇지 않으면 조금 더 짧을 것입니다. 아직도 골프를 치고 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.