인쇄 가능한 95 개의 ASCII 문자에 0에서 94까지의 숫자를 할당 해 봅시다 .
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
공백은 0, !
1, 등 ~
은 94가 될 때까지 계속 됩니다. 또한 탭 ( \t
)에 95를, 줄 바꿈 ( \n
)에 96을 할당합니다 .
이제 N 번째 문자가 모듈로 97 인 N 번째 소수 인 위의 문자 인 무한 문자열을 고려하십시오 . 이 문자열을 S라고 부릅니다.
예를 들어, 첫 번째 소수는 2이고 2 mod 97은 2이고 2는에 할당 "
되므로 S의 첫 번째 문자는입니다 "
. 마찬가지로 30 번째 소수는 113이고 113 mod 97은 16이며 16은에 할당 0
되므로 S의 30 번째 문자는입니다 0
.
S의 처음 1000자는 다음과 같습니다.
"#%'+-137=?EIKOU[]cgiosy $&*,0>BHJTV\bflrt~
#%1=ACGMOY_ekmswy"046:HNXZ^dlrx|!)-5?AKMSW]eiko{"&.28DFX^hntv|%+139?CEQ[]agmo{ $,6>HPV\`hnrz~+5ACMOSU_mqsw$(*.BFNX`djp~!'-5;GKQS]_eoq{}"48:>DJRX^tv
'17=EQU[aciu 026<>DHJNZ\b#)/7ISaegkqy} $0:<@BFLXdlx~!'/3;?MQWY]ceku(.24LPR\hjt|!'-?EIKWamu$28<>BDNZ`fxz)+AGOUY[_gmwy"0:@LNRT^jl|~#')3;Meiow&(,4DFJRX^bnp%+-37=KQUW]agsy ,06BJPTn
)15;=CYegw ".<FHLTZ`dfjpx|~#-/9AES]ikquw&48>FLPbjtz
'1=KOU[]y{$,0>BJV\hlr%/1A[_amsw"(04<RTXZf!#)/59?AMQ]_ik{},2FV^bdhj
'39CEIOQWacoy{$28<BJPVfrtx%+/7AIOUkqs}*.4FHR`dfp~!);?EGKQS_cw,8:>DJLRhjp
%139EUW[aosu&>HNPZ\fhrxz#%/5=[egqy (:@LXZlrv|!35?MSWY]uw"(8@FL^nptz|!'17COacim &>BDHNP\`n+5;GU[eqsw}$*46:HNTX^`jl|'/AEKWY_ek&,:>FPXdvz|
7CIK[agu ,0NTZ`hnrt
%)+1GMOSegkwy "<BHLT^~-/59;?AKY_cku{.24:X\dntz!'37=?EIOQ[]ms&*6D`fz~/7=AGU[akmw"*46@HT^vx|#)-5GQW]_eo{}&,28@FPVX^djt|39OQcgoy6>PTV`fhnr#+7IY_ams} (*0:HLdfvx!#-AEGKScioq},48>\^hjptz
'-1=CKW[iu 6<HNPfn
)/=ACIS[aek(6@BNXZjl~5GM]ouw(,24>FPV\dhnpz|'+179EIWims&*28<DHV\`nz~
=AY_eq}*046:LR^
스택 교환은 탭을 공백으로 변환하므로 탭이 그대로 있는 PasteBin 이 있습니다.
도전
선택한 양의 정수 M에 대해 첫 번째 M 소수를 한 줄에 하나씩 출력하는 유효한 프로그램 인 S 의 하위 문자열 을 찾으십시오 .
예를 들어, 2
S의 하위 문자열 (여러 곳에서 발생하지만 모든 작업 2
이 수행됨 )이며 출력이 다음 과 같은 유효한 CJam 프로그램입니다.
2
이것은 첫 번째 M = 1 소수이며, 한 줄에 하나씩 순서대로 나타납니다.
마찬가지로 2N3N5
문자열은 S 어딘가 의 문자열 일 수 있으며 2N3N5
유효한 CJam 프로그램입니다.
2
3
5
이것은 첫 번째 M = 3 소수 (행당 하나씩)입니다.
채점
M이 가장 높은 제출물이 이깁니다. 타이 브레이커는 먼저 게시 된 제출물로 이동합니다.
세부
마지막 줄 뒤의 선택적 후행 줄 바꿈을 제외하고 각 줄의 단일 소수 외에 추가 출력이 없어야합니다. 입력이 없습니다.
부분 문자열은 유한 한 길이이면됩니다.
하위 문자열은 S 내의 어느 곳에서나 발생할 수 있습니다 (S는 여러 위치에 포함 할 수 있음).
본 프로그램은 본격적인 프로그램이어야합니다. REPL 환경에서 실행한다고 가정 할 수 없습니다.
프로그램은 오류없이 유한 한 시간 안에 실행하고 종료해야합니다.
"줄 바꾸기 "는 시스템 / 통역사 등에 필요한 일반적인 줄 바꾸기 표현 으로 해석 될 수 있습니다 . 한 캐릭터로 취급하십시오.
부분 문자열 자체가 아닌 경우 부분 문자열의 길이뿐만 아니라 부분 문자열이 시작되는 S의 색인을 제공해야합니다. 서브 스트링이 존재해야 함을 표시 할 수도 있습니다.