Utilizzo dei 74 caratteri della stringa della capsula del tempo 2016
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
scrivere snippet di codice N tutti nella stessa lingua in cui:
- Il primo frammento viene emesso
1
. - Il secondo frammento viene emesso
2
. - Il 3o frammento viene emesso
3
. - ... eccetera. ...
- L'ennesimo frammento di output
N
(il numero, non la lettera letterale).
Un "frammento di codice" è definito come uno di questi:
- Un programma completo senza input richiesto che genera normalmente il numero .
- Una funzione senza argomenti richiesti che genera / restituisce il numero normalmente .
- Un REPL un'espressione che restituisce il numero.
(Puoi mescolare e abbinare queste tre varianti nei tuoi frammenti N.)
I caratteri che è consentito utilizzare nell'insieme combinato di N frammenti sono esattamente i 74 caratteri della capsula del tempo, più floor(N/2)
i byte "jolly" extra che è possibile utilizzare ovunque.
Ad esempio, la capsula del tempo ne contiene tre @
, quindi nell'insieme dei tuoi N frammenti potrebbero esserci solo un massimo di tre @
, a meno che tu non decida di utilizzare alcuni dei tuoi floor(N/2)
caratteri jolly per ulteriori @
.
Pertanto, senza contare i caratteri jolly, l'insieme combinato di caratteri nei tuoi frammenti N deve essere un sottoinsieme dei 74 caratteri capsula del tempo. Le loro lunghezze combinate non possono superare 74. Non puoi riutilizzare i caratteri di capsula del tempo o byte jolly tra i frammenti.
Gli appunti
Non ci sono altri limiti sulla lunghezza dello snippet o su quanti caratteri jolly possono essere utilizzati per snippet.
Devi scrivere tutti i frammenti da 1 a N. Non è da 0 a N-1, non da k a N + k-1.
Gli snippet devono essere individuali, non uno snippet che genera l'elenco
1, 2, 3, ..., N
.Gli output possono essere float come
3.0
al posto di3
e puoi usare una base diversa dai decimali se è la base naturale della tua lingua . Devi utilizzare la stessa base per tutti gli snippet.I caratteri jolly sono conteggiati come byte nella codifica della tua lingua . Questo sarà probabilmente ASCII ma, ad esempio, se
∞
conta come un byte nella codifica, puoi usarlo come un singolo byte jolly.È possibile utilizzare byte jolly per caratteri multibyte. ad esempio, normalmente
∞
è di tre byte, quindi è possibile utilizzarlo in uno snippet ma costerà tre byte jolly.floor(N/2)
Newline come
\r\n
possono essere considerati un byte.
Esempio
In Python, N = 4 è possibile solo usando REPL. Ci sono floor(4/2) = 2
caratteri jolly.
1
dal tempo la capsula è un'espressione che si evolve in1
.2
è costituito da un singolo carattere jolly, vale a dire il2
. Prove a2
.3
comprende anche un solo carattere jolly. Prove a3
. Niente più caratteri jolly.4
è fortunatamente nella capsula del tempo e si valuta4
.
Questi frammenti sono brevi e banali. Una vera risposta sarebbe probabilmente molto più complessa.
(Cinque e oltre in Python potrebbero certamente essere possibili, ma lo lascerò ai professionisti.)
punteggio
Vince la risposta con la N più alta; cioè quello che sale la scala intera il più alto.
In caso di pareggio, vince la risposta che utilizzava il minor numero di byte jolly.
Nel caso in cui vi sia ancora un pareggio, vince la risposta che utilizzava il minor numero di caratteri cumulativi.
Se c'è ancora un pareggio, vince la risposta precedente.
07
lo stesso di 7
?
-
né n
... né
4
un frammento valido che restituisce 4, nelle versioni precedenti di Perl che non hanno REPL?)