Utilisation des 74 caractères de la chaîne capsule temporelle 2016
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
écrire N extraits de code tous dans la même langue où:
- Le 1er extrait de code sort
1
. - Le 2e extrait de code sort
2
. - Le 3e extrait de code sort
3
. - ... etc. ...
- Le Nième extrait de code sort
N
(le nombre, pas la lettre littérale).
Un "extrait de code" est défini comme l'un de ces éléments:
- Un programme complet sans entrée requise qui génère le nombre normalement .
- Une fonction sans arguments requis qui génère / renvoie le nombre normalement .
- Une expression REPL qui évalue le nombre.
(Vous pouvez mélanger et assortir ces trois variantes dans vos N extraits.)
Les caractères que vous êtes autorisé à utiliser dans l'ensemble combiné de N extraits sont précisément les 74 caractères de la capsule temporelle, plus floor(N/2)
des octets "génériques" supplémentaires que vous pouvez utiliser n'importe où.
Par exemple, la capsule temporelle contient trois @
de sorte que dans l'intégralité de vos N extraits, il ne peut y avoir jusqu'à trois @
présents que si vous décidez d'utiliser certains de vos floor(N/2)
octets génériques pour d'autres @
.
Ainsi, sans compter les caractères génériques, l'ensemble combiné de caractères dans vos N extraits doit être un sous-ensemble des 74 caractères de la capsule temporelle. Leur longueur combinée ne peut pas dépasser 74. Vous ne pouvez pas réutiliser des caractères de capsule temporelle ou des octets génériques entre les extraits.
Remarques
Il n'y a pas d'autres limites sur la longueur de l'extrait ou le nombre de caractères génériques pouvant être utilisés par extrait.
Vous devez écrire tous les extraits de 1 à N. Ce n'est pas 0 à N-1, pas k à N + k-1.
Les extraits de code doivent être individuels et non un extrait de code qui génère la liste
1, 2, 3, ..., N
.Les sorties peuvent être des flottants comme
3.0
à la place de3
et vous pouvez utiliser une base autre que décimale si c'est la base naturelle de votre langue . Vous devez utiliser la même base pour tous les extraits.Les caractères génériques sont comptés comme des octets dans le codage de votre langue . Ce sera probablement ASCII mais par exemple, si il
∞
compte comme un octet dans votre codage, vous pouvez l'utiliser comme un seul octet générique.Vous pouvez utiliser des octets génériques pour les caractères multi-octets. par exemple, il
∞
est normalement de trois octets, vous pouvez donc l'utiliser dans un extrait, mais cela vous coûtera trois de vosfloor(N/2)
octets génériques.Les sauts de ligne tels que
\r\n
peuvent être considérés comme un octet.
Exemple
En Python, N = 4 est possible simplement en utilisant le REPL. Il y a des floor(4/2) = 2
caractères génériques.
1
de la capsule temporelle est une expression qui évolue vers1
.2
consiste en un seul caractère générique, à savoir le2
. Evals to2
.3
se compose également d'un seul caractère générique. Evals to3
. Plus de caractères génériques.4
est heureusement dans la capsule temporelle et ça ne fait rien4
.
Ces extraits sont courts et triviaux. Une vraie réponse serait probablement beaucoup plus complexe.
(Cinq et au-delà en Python sont certainement possibles, mais je laisse le soin aux professionnels.)
Notation
La réponse avec le N le plus élevé gagne; c'est-à-dire celui qui gravit les échelons les plus élevés.
En cas d'égalité, la réponse qui a utilisé le moins d'octets génériques l'emporte.
En cas d'égalité, la réponse qui a utilisé le moins de caractères cumulatifs l'emporte.
S'il y a toujours égalité, la réponse précédente l'emporte.
07
la même chose que 7
?
-
ni n
...
4
un extrait de code valide renvoie 4, dans les anciennes versions de Perl sans REPL?)