J, 171 bajtów
(+:>.+:^^*_){.".(':',~(+:+:>.^*_){(*:>.^*_)!:(+:<.^+:*_)''),',',(":(>:*:+:+:+:*_),(<.^<:^<:^*_),<:*:<.^+:*_),'+/',('.',~(+:<.+:^*_){(*:>.^*_)!:(+:<.^+:*_)''),":+:<.*:>:^*_
Ow ... mój mózg boli ... Wypróbuj online!
Oto, dlaczego możesz zobaczyć wszystko w jednym wierszu (jednak nie będzie działał z podziałem wierszy).
(+:>.+:^^*_){.".(':',~(+:+:>.^*_){(*:>.^*_)!:(+:<.^+:*_)''),',',(":(>:*:+:+:+:*_),(<.^<:^<:^*
_),<:*:<.^+:*_),'+/',('.',~(+:<.+:^*_){(*:>.^*_)!:(+:<.^+:*_)''),":+:<.*:>:^*_
Gwarantowana tylko praca z wersją J j805/j64/linux/release/commercial/www.jsoftware.com/2016-12-11T08:02:52
, w tej kolejności. (Tylko pierwsze 12 znaków ma znaczenie.)
Wyjaśnienie
Większość programu poświęcona jest ciągłemu generowaniu. Po zastąpieniu tych stałych ich wartościami program wygląda następująco:
(62){.".(':',~(12){(9)!:(14)''),',',(":(65),(97),48),'+/',('.',~(10){(9)!:(14)''),":26
Po usunięciu niektórych nawiasów i poprawieniu niektórych liczb:
62{.".(':',~12{9!:14''),',',(":65 97 48),'+/',('.',~10{9!:14''),":26
Ten składa się z bandą ,
i ,~
S, które poprzedzić Append i argumentów. Oto osobne wartości:
":26
('.',~10{9!:14'')
'+/'
(":65 97 48)
','
(':',~12{9!:14'')
1
jest 26
jak ciąg.
9!:14''
generuje następujący ciąg znaków na TIO:
j805/j64/linux/release/commercial/www.jsoftware.com/2016-12-11T08:02:52
z 2
, otrzymujemy 10
th znak ( i
od linux
) i dodajemy .
go na końcu, dając i.
.
3
i 5
są oczywiste.
4
to lista liczb 65 97 48
w postaci ciągu.
6
jest podobny do 2
, z tym wyjątkiem, że jest to 12
znak th ( u
from linux
) i dodaje :
na końcu a, dającu:
.
To wszystko razem daje u:,65 97 48+/i.26
. ".
ocenia to, dając nam:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789:;<=>?@ABCDEFGHI
(Uwaga: +/
jest uzupełnieniem tabelarycznym).
Następnie, z 62{.
, bierzemy z tego pierwsze 62
postacie, dając nam ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
.