Assegniamo i numeri da 0 a 94 ai 95 caratteri ASCII stampabili :
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Lo spazio è 0, !
è 1 e così via fino a ~
94. Assegneremo anche 95 a tab ( \t
) e 96 a newline ( \n
).
Consideriamo ora la stringa infinita il cui nono carattere è il carattere sopra al quale è stato assegnato l'ennesimo numero primo , modulo 97. Chiameremo questa stringa S.
Ad esempio, il primo numero primo è 2, e 2 mod 97 è 2, e 2 è assegnato a "
, quindi il primo carattere di S è "
. Allo stesso modo, il 30 ° numero primo è 113, e 113 mod 97 è 16, e 16 è assegnato a 0
, quindi il 30 ° carattere di S è 0
.
I primi 1000 caratteri di S sono i seguenti:
"#%'+-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^
Stack Exchange trasforma le schede in spazi, quindi ecco un PasteBin con le schede intatte.
Sfida
Trova una sottostringa di S che sia un programma valido nella tua lingua di scelta che produca i primi numeri primi M, uno per riga, in ordine , per un numero intero positivo M.
Ad esempio, 2
è una sottostringa di S (si verifica in più punti ma tutti lo faranno) ed 2
è un programma CJam valido il cui output è
2
che è il primo M = 1 numeri primi, uno per riga, in ordine.
Allo stesso modo, la stringa 2N3N5
può essere una sottostringa di S da qualche parte, ed 2N3N5
è un programma CJam valido che genera
2
3
5
che è il primo M = 3 numeri primi, uno per riga, in ordine.
punteggio
La presentazione con la M più alta vince. Il pareggio va alla presentazione inviata per prima.
Dettagli
Non dovrebbero esserci output aggiuntivi oltre ai singoli numeri primi su ciascuna riga, ad eccezione di una nuova riga finale opzionale dopo l'ultima riga. Non ci sono input.
La sottostringa può essere di qualsiasi lunghezza purché sia finita.
La sottostringa può verificarsi ovunque all'interno di S. (E S può contenerla in più punti.)
Il programma deve essere un programma completo. Non si può presumere che sia eseguito in un ambiente REPL.
Il programma deve essere eseguito e terminato in un tempo limitato senza errori.
"Newline" può essere interpretato come qualsiasi rappresentazione newline comune necessaria per il proprio sistema / interprete / ecc. Trattalo come un personaggio.
È necessario fornire l'indice di S dove inizia la sottostringa, nonché la lunghezza della sottostringa se non la sottostringa stessa. Potresti non solo mostrare che la sottostringa deve esistere.
Correlati: Alla ricerca di programmi in un'enorme boggle board