J, 171 octets
(+:>.+:^^*_){.".(':',~(+:+:>.^*_){(*:>.^*_)!:(+:<.^+:*_)''),',',(":(>:*:+:+:+:*_),(<.^<:^<:^*_),<:*:<.^+:*_),'+/',('.',~(+:<.+:^*_){(*:>.^*_)!:(+:<.^+:*_)''),":+:<.*:>:^*_
Ow ... mon cerveau me fait mal ... Essayez-le en ligne!
Pour que vous puissiez voir l’ensemble d’une ligne (elle ne fonctionnera pas, mais avec des sauts de ligne).
(+:>.+:^^*_){.".(':',~(+:+:>.^*_){(*:>.^*_)!:(+:<.^+:*_)''),',',(":(>:*:+:+:+:*_),(<.^<:^<:^*
_),<:*:<.^+:*_),'+/',('.',~(+:<.+:^*_){(*:>.^*_)!:(+:<.^+:*_)''),":+:<.*:>:^*_
Garanti uniquement de fonctionner avec la version J j805/j64/linux/release/commercial/www.jsoftware.com/2016-12-11T08:02:52
, dans cet ordre. (Seuls les 12 premiers caractères sont importants.)
Explication
La majeure partie du programme est consacrée à la génération constante. Avec ces constantes remplacées par leurs valeurs, le programme ressemble à ceci:
(62){.".(':',~(12){(9)!:(14)''),',',(":(65),(97),48),'+/',('.',~(10){(9)!:(14)''),":26
Avec quelques parenthèses supprimées et quelques chiffres plus agréables:
62{.".(':',~12{9!:14''),',',(":65 97 48),'+/',('.',~10{9!:14''),":26
Ceci est composé d'un tas de ,
et ,~
s, qui ajoutent et ajoutent des arguments. Voici les valeurs séparées:
":26
('.',~10{9!:14'')
'+/'
(":65 97 48)
','
(':',~12{9!:14'')
1
est 26
comme une chaîne.
9!:14''
génère la chaîne suivante sur TIO:
j805/j64/linux/release/commercial/www.jsoftware.com/2016-12-11T08:02:52
avec 2
, nous obtenons le 10
caractère th ( i
de linux
), et ajoutons un .
à la fin de celui-ci, cédant i.
.
3
et 5
sont explicites.
4
est la liste des nombres 65 97 48
sous forme de chaîne.
6
est similaire à 2
, sauf que c'est le 12
caractère th ( u
de linux
) et ajoute un :
à la fin, cédant u:
.
Tout cela cède u:,65 97 48+/i.26
. ".
évalue cela en nous donnant:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789:;<=>?@ABCDEFGHI
(Note: +/
addition tabulée.)
Ensuite, avec 62{.
, nous prenons les premiers 62
personnages de ceci, nous donnant ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
.