Perl 5, 54 байти / 71 символів для друку ASCII
Примітка. Це друга версія цієї відповіді. Для оригінальної 64-байтної / 95-char версії з використанням PHP та gzinflate () див . Історію цієї відповіді .
Ось 71-шарова версія для друку ASCII:
y/01/ #/,say for unpack'(B40)4',unpack u,'4I*`1`(JJI!$FFNRJU52HIJ0*))H'
У 54-байтовій версії містяться символи, що не друкуються, тому я надаю це як шестигранний дамп. У системах Unixish ви можете xxd -r
перетворити шістнадцятковий дамп у виконуваний сценарій Perl:
0000000: 792f 3031 2f20 232f 2c73 6179 2066 6f72 y/01/ #/,say for
0000010: 2075 6e70 6163 6b27 2842 3430 2934 272c unpack'(B40)4',
0000020: 27a4 a011 008a aaa4 1126 9aec aad5 54a8 '........&....T.
0000030: a6a4 0a24 9a27 ...$.'
І perl -M5.010
те й інше потрібно запустити, щоб включити функцію Perl 5.10+ say
. Вони дадуть такий вихід:
(Показано як скріншот, тому що величезна висота рядка в SE робить мистецтво ASCII некрасивим і важким для читання. Нижній регістр "e" є якоюсь незручною, але я вважаю, що це кваліфікується як читабельний, хоч би ледь так.)
Пс. Якщо висновок рішення вище для вас здається занадто мінімалістичним, ось 92-символьний варіант, який дає результат, подібний до рішення Томаса :
y/01/ #/,say for unpack'(B56)*',unpack u,'CH!(`"(`"":,2``B``@GGDC\'(C#(YI!)("I)"2*,),`4,03D'
Ось скріншот:
Pps. Я впевнений, що це ( GolfScript, 51 знак ) - це найкоротше рішення для друку-ASCII, якщо ви не рахуєте тих, що просто називають банер / FIGLet або які чіт-файли якимось іншим способом:
'iJ@Q@HmURBIMM{JkUUJeMRAQIM'{2base(;{' #'=}/}%39/n*
Вихід такий самий, як і для мого 71-шарового рішення Perl вище.
bash
: 33 символи - pastebin.com/HZ1w8z8g Чи прийнятно це?