Распечатать иконку Stack Exchange


19

Вызов

Распечатайте или верните значок Stack Exchange, как указано ниже:

 ___________________
/                   \
---------------------
|                   |
---------------------
|                   |
---------------------
\__________    _____/
           |  /
           | /
           |/

Это , поэтому выигрывает самый короткий ответ на каждом языке.


2
Предполагается, что верхний левый угол слегка смещен?
ETHproductions

@ETHproductions Это было предназначено, но я изменяю это сейчас. Это выглядит как-то неловко в любом случае.
musicman523

2
Фактический вывод составляет 219 байтов, для справки.
полностью человек

Задние строки и / или конечные пробелы в строках разрешены, верно?
Дзайма

Ответы:


43

Язык сценариев работы Flashpoint , 263 195 байт

f={r="                   ";t="---------------------\n";s=" ___________________\n/"+r+"\\n"+t+"|"+r+"|\n"+t+"|"+r+"|\n"+t+"\__________    _____/\n           |  /\n           | /\n           |/";s}

Не правильный инструмент для работы.

Звоните с:

hint call f;

Выход:

Форматирование не выполняется, потому что шрифт не моноширинный.


49
Как раз то, что заставляет вас взглянуть на вызов и подумать: «О, я должен ответить на это в« Операции », озадачивает меня ...
полностью человек

7
@totallyhuman Полагаю, что его язык сценариев просто интересно писать. У него довольно много странностей и ограничений, поэтому иногда нужно использовать странные обходные пути, которые делают его интересным (но не очень практичным).
Steadybox

5
Жесткое кодирование ответа, вероятно, даст вам лучший результат.
NieDzejkob

2
@NieDzejkob Теперь это короче, чем просто кодирование вывода, но скучнее, чем в предыдущей версии.
Steadybox

@totallyhuman И с этой задачей, в частности, я хотел проверить, как язык будет справляться с проблемой сложности Колмогорова (для которой он гораздо менее идеален).
Steadybox

11

Древесный уголь , 38 37 33 30 байт

←×_χ↓F/||⟦ι¹¹⟧\×_⁹‖B_×ψ⁴↙↙³↑↑³

Попробуйте онлайн! Ссылка на подробную версию кода. Редактировать: удалось сохранить байт с помощью отражения, хотя @CarlosAlejo показывает, что на самом деле это можно сделать в 37 байтах без отражения. Сохраненные еще 4 байта, рисуя левый ¾ и отражая финальный ¼. Редактировать: предыдущий 33-байтовый ответ зависел от того, чтобы ReflectButterflyOverlap()не перекрывать область перекрытия отражением, поэтому в случае, если это поведение изменилось, я искал решение, которое не зависело от этого, и результат в любом случае оказался короче, благодаря моему творческое использование печати массива. Объяснение:

←×_χ                            Print 10 `_`s leftwards (top row)
    ↓                           Move down to the next row
     F/||                       For each character in the string `/||`
          ι                     Current character
           ¹¹                   Integer 11, prints as `-----------`
         ⟦   ⟧                  Put both into an array
                                Implicitly print on separate lines
              \                 Implicitly print `\`
               ×_⁹              Implicitly print 9 `_`s
                  ‖B            Reflect right, overlapping the axis
                    _           Implicitly print `_`
                     ×ψ⁴        Implicitly delete 4 characters
                        ↙↙³     Move down left and print three `/`s
                           ↑↑³  Move up and print three '|'s

2
Очень хорошо сыграно. Мне нравится, что есть четыре ответа древесного угля на этот вопрос! ‖BOне было в языке в последний раз, когда я использовал это - я должен буду помнить это в будущем.
DLosc

Я должен был сам увидеть, что вы имели в виду под «отражением финала». Хорошо сыграно на самом деле!
Чарли

8

/// , 98 байт

/'/  //&/
"""
|!! |//%/\\\/
!'|//#/_____//"/-------//!/'''' / ###____
\/!! \\&&
"""
\\##''#%'% %\/

Попробуйте онлайн! Или посмотрите в интерактивном режиме!


3
Есть ли утилита, которая позволяет мне видеть различные "шаги" программы ///? (Частичное выполнение после каждой замены.) Это могло бы помочь мне лучше понять их.
CAD97

@ CAD97 Я возился с онлайн-переводчиком, и обычно он предлагал опции отладки, но, как он-то переводит, он не работает таким образом. Вы можете взять копию переводчика самостоятельно и сделать что-то подобное perl slashes.pl -d1 code.txt. В настоящее время я работаю над онлайновой средой исполнения для ///, но это может занять некоторое время.
Конор О'Брайен

3
@ CAD97 Сказал, что онлайн дело, посмотрите!
Конор О'Брайен

8

JavaScript (ES6), 113 112 байт

(Сохраненный байт благодаря @Craig Ayre.)

let f=

_=>` _19
/ 19\\
-21
| 19|
-21
| 19|
-21
\\_10 4_5/
 11| 2/
 11| /
 11|/`.replace(/.(\d+)/g,([a],b)=>a.repeat(b))
 
 console.log(f());


Похоже, у вас есть свободное пространство перед функцией замены. Я только что предложил аналогичное обновление для моего решения JS на 113 байтов. Не знаю, должен ли я опубликовать это или дать вам это.
Лохматый

Ах, подожди, только увидев, что ты опубликовал свое решение, прежде чем я разместил свое. Я удалю свою, когда доберусь до компьютера, и вы сможете сохранить байт с помощью replace(/.(\d+)/g,(a,b)=>a[0].repeat(b)).
Лохматый

Спасибо, Шегги. Я написал программу для автоматизации этого типа ответа, и было глупо выводить ненужный пробел. Ваше предлагаемое replaceутверждение, безусловно, является улучшением, которое я сейчас включил в свою программу.
Рик Хичкок

1
Вы можете сохранить соответствие массива байт a: ([a],b)=>a.repeat(b))?
Крейг Эйр,

Да, спасибо! Я был незнаком с этим синтаксисом.
Рик Хичкок,

7

SOGL V0.12 , 32 31 байт

^$∙r↑Ψ«2τγæΕž‘╬Æ╬⁷"ƧΡ⅟?0Ξ³‘6«8ž

Попробуй здесь!

Объяснение:

...‘               push a quarter of the icon
    Β             palindromize vertically
      ╬⁷           palindromize horizontally (these two should be ╬3 together, but spacing doesn't work correctly (though now it does since I fixed it))
        "...‘      push the extention
             6«8ž  at coordinates [12; 8] in the quad-palindromized image put that in

Четверть:

 __________
/
-----------
|
-----------

а другая часть:

    
|  /
| /
|/

«порознь»? "впадина"? Кроме того, потребовалось некоторое время, чтобы понять, что .в объяснении значило string. Может быть, использовать ^...'и "...'?
CalculatorFeline

@CalculatorFeline Я обычно делал ...для сжатых строк (это глупость), но в последнее время я начал делать одну или две. И не стесняйтесь исправлять мои ошибки и грамматику: p
dzaima

7

Python 2 , 115 байт, более креативная идея

t,u,v,w,x,y,z='\n -/\\_|';k=w+t+11*u+z;i=t+21*v+t
print u+19*y+t+w+19*u+x+(i+z+19*u+z)*2+i+x+10*y+4*u+5*y+k+u,k,k+w

Попробуйте онлайн!

Python 2 , 102 байта, скучная идея

print'eNrjUojHBFz6CpgghksXG+CqwaK2hgpqYxDuASkDM/S5kDUqKKDxUbn6XADUmClx'.decode('base64').decode('zip')

Попробуйте онлайн!


2
Я не голосую за это, так как я видел, как этот метод использовался слишком много раз. Просто скучно видеть снова и снова.
Р. Кап

8
@ R.Kap Если нет более короткого пути, это довольно произвольная причина для снижения рейтинга.
Деннис

1
@ Денис Возможно, но я все еще придерживаюсь своего мнения и имею полное право выразить это. Я видел, как этот метод использовался бесчисленное количество раз в подобных задачах, и он практически не требует творческого подхода со стороны ОП, что является значительным аспектом, по крайней мере, на мой взгляд, проблем сложности Коломогорова и, следовательно, моей причины для отрицательного голосования. ,
Р. Кап

2
@ R.Kap Если алгоритмы сжатия общего назначения могут легко справиться с ручными, это проблема, а не ответ. Мне даже не удалось победить Bubblegum с желе, и декомпрессия имела очень мало накладных расходов в желе.
Деннис

2
@ Денис Я даже не говорю о длине кода здесь. Я говорю об усилии и креативности, которые, по моему мнению, не дают ответа на языке, на котором можно сделать гораздо больше, и по этой причине я проголосовал против. Теперь, если вы не согласны с моими рассуждениями, это нормально. В таком случае, давайте просто согласимся не соглашаться и закончить этот разговор прямо здесь, пока он не стал слишком длинным. :)
Р. Кап

6

Python 2, 124 байта

a,b,d,e,f,g,h=' _-|/\\\n';r=d*21+h+e+a*19+e+h;n=f+h+a*11+e;print a+b*19+h+f+a*19+g+h+r*2+r[:22]+g+b*10+a*4+b*5+n+a*2+n+a+n+f

Попробуйте онлайн!


Вы никогда не используете c, поэтому вы можете удалить его на 3 байта. Попробуйте онлайн!
musicman523

@ musicman523 Я даже не знаю, зачем я это туда положил. Спасибо за улов! :)
Р. Кап

6

C (gcc) , 187 байтов

Благодаря Cody Grey 2 байта были сохранены, а Keyu Gan - 3 байта!

#define a"         "
#define s a" "a
#define l"\n---------------------\n"
f(){puts(" ___________________\n/"s"\\"l"|"s"|"l"|"s"|"l"\\__________    _____/\n"a"  |  /\n"a"  | /\n"a"  |/");}

Попробуйте онлайн!


2
putsбудет тривиально короче, если трейлинг новой строки приемлемо.
Коди Грей

Вы можете использовать f()вместо main(). Функция также приемлема.
Кейу Ган,

5

Ржавчина , 181 байт

||" ___________________
/2\\
1
1
3
\\__________    _____/
4|  /
4| /
4|/".replace("1","3
|2|").replace("2",&" ".repeat(19)).replace("3",&"-".repeat(21)).replace("4",&" ".repeat(11))

Попробуйте онлайн!

Ржавчина , 184 байта

Эта версия может быть более пригодной для игры, так как добавление дополнительной replaceстоимости требует меньше байтов каждый. Первый replaceне является частью цикла , поскольку он тянет двойную смену пошлин sв Stringвместо &'static str.

||{let mut s=" 5__5__5
/2\\
1
1
3
\\55    5/
4|  /
4| /
4|/".replace("1","3
|2|");for p in vec![("2"," ",19),("3","-",21),("4"," ",11),("5","_",5)]{s=s.replace(p.0,&p.1.repeat(p.2))}s}

Попробуйте онлайн!


5

C 167 байт

i;char*d=" q    /()\\   A   |()|    A   |()|    A   \\h#c/  #&|!/   #&| /   #&|/",c,b;main(j){while(c=d[i++],b=c%5==2||c>123?c:c>95?95:c>45?45:c>=32?32:++c,i<47)for(j=c;j-->=b;)putchar(b);}

Попробуйте онлайн!

Примечание: много видимых пробелов на самом деле являются символом табуляции.

Читаемая версия:

i;
char *d = " q   /()\\   A   |()|    A   |()|    A   \\h#c/  #&|!/   #&| /   #&|/", c, b;
main(j) {
    while(
        c = d[i++],
        b = c % 5==2 || c > 123 ? c:
            c > 95 ? 95:
            c > 45 ? 45:
            c >= 32 ? 32:
            ++c,
        i < 47
    )
        for(j = c; j-- >= b;)
            putchar(b);
}

Объяснение:

Массив данных, d, кодирует ответ буквально единичными символами и закодированными повторяющимися символами. Каждый символ c в массиве данных сопоставляется с базовым символом b и числом повторений. Затем напечатано это много раз.

Символы, которые используются только по одному (косая черта и труба), имеют коды ASCII 47, 92 и 124. Два из них делятся на 5 с остатком 2 (c%5=2||c>123) . Я не мог найти более короткое условие для проверки всех трех.

Символы, которые повторяются (подчеркивание, тире и пробел) с кодами ASCII 95, 45 и 32 соответственно, кодируются с более высоким кодом ASCII - увеличивается на единицу за повторение. Так, например, один пробел - это просто пробел, но два пробела могут быть закодированы следующим символом ASCII, восклицательным знаком. Там, где закодированный символ был бы неподходящим, потому что он удовлетворяет вышеуказанному условию по модулю, его можно разделить, как с # &, чтобы представить одиннадцать пробелов. Та же самая техника используется, чтобы избежать наложения между пробелами и диапазонами черточки.

Наконец, десять новых строк кодируются в виде вкладок для сохранения байтов, которые были бы потрачены на экранирование строк с обратной косой чертой, а затем увеличены для печати ( ++c).


Отлично сработано! Я знал, что там были лучшие ответы C.
musicman523

Благодарность! Это было забавное испытание. Я потратил на это около четырех часов, и я рад, что в итоге все получилось.
джив

4

Древесный уголь , 49 37 байт

↓⁵\…_χ↓↓³↗↗³…_⁵↑/↑⁵↖\←…_¹⁹↓ /F³«P²¹¶¶

Попробуйте онлайн!

Наконец-то я смог немного поиграть в гольф. Этот ответ (в отличие от всех других ответов об углях) не использует отражения, но рисует весь контур за один проход, оставляя горизонтальные полосы для конца.

Ссылка на подробную версию .


«В отличие от всех других ответов об углях». На самом деле, мой первый ответ также не использовал отражения, но я признаю, что не заметил шанса отыграть байт, начав рисование с левой вертикальной линии. (Единственными другими изменениями между нашими решениями является то, что вы используете Range, где я использовал Times, и вы печатаете там, \где я только что напечатал :UpLeft1 шаг.)
Neil

Хотя кажется, что размышление до пути ...
Нил

И теперь уже дважды, когда мой ключ не работал ...
Нил

3

Жевательная резинка , 40 байт

Спас 1 байт, удаляя завершающий символ новой строки, спасибо @ovs!

00000000: 5388 c704 5cfa 0a98 2086 4b17 1be0 aac1  S...\... .K.....
00000010: a2b6 860a 6a63 10ee 0129 0333 f4b9 9035  ....jc...).3...5
00000020: 2a28 a0f1 51b9 fa00                      *(..Q...

Попробуйте онлайн!


Без завершающего перевода строки это получает 40 байтов .
овс

Благодарность! Я думаю, что мой текстовый редактор автоматически вставляет один.
musicman523

Как ты это создал? zlib.compress(s.encode(), 9)выводит 46 байтов, и ответ, кажется, zlib.
NieDzejkob

По предложению Денниса , я использовал zopfli --deflateдля генерации потока DEFLATE, а затем xxdпреобразовал его в формат xxd. Я считаю, что zlibоставляет контрольную сумму или не является необработанным потоком DEFLATE по какой-то другой причине.
musicman523

3

Древесный уголь , 38 байт

←…_χP↑⁵P\F³«↑P¹¹↑»↗¹…_χ‖BM²¦⁷P↓⁴… ⁴↙↙³

Попробуйте онлайн!

Я использовал ответ Карлоса в его первоначальном виде в качестве отправной точки, но сохранил немало, используя отражение, используя преимущества горизонтальной симметрии. (Вертикальная симметрия не стоила того, потому что подчеркивания оказались в неправильном ряду.) Вы можете увидеть развитие холста на каждом этапе здесь .

Вот подробная версия .


Кстати, вы можете использовать -d чтобы показать каждый шаг (также извините, что я так сильно менял уголь, я не уверен, что очень многие из новых идей очень полезны, особенно коза ascii-art, встроенная и часть языка wolfram, ха-ха)
Только для ASCII


3

Python 2, 119 117 116 байт

print''.join(' \n-/|\\_'[ord(x)/8-4]*int('1245abjl'[ord(x)%8],36)for x in' V(8&H(7(@&@(7(@&@(7(HT"S8(%@!8(%@ 8(%@8')

Попробуйте онлайн!

Немного замученного кодирования длин серий ...

РЕДАКТИРОВАТЬ: сохранить 3 байта, заменив набор длин:

[1,2,4,5,10,11,19,21][ord(x)%8]

с

int('1245abjl'[ord(x)%8],36)


Вот это да! Я пытался придумать эффективный способ сделать это сам.
GarethPW

Хороший код, но кажется, что это 119 байт?
17

@mdahmoune: Совершенно верно - забыл использовать r''при проверке длины ...
Час Браун

3

С ++ 11 - 162 159 154 152 150 байт

MSVC:

void f(){char*i="b t_b\nb/t b\\b\nv-b\nb|t b|b\nv-b\nb|t b|b\nv-b\nb\\k_e f_b/b\nl b|c b/b\nl b|b b/b\nl b|b/";while(*i)cout<<string(*i++-97,*i),i++;}

GCC: (+4 символа)

int f(){char*i="b t_b\nb/t b\\b\nv-b\nb|t b|b\nv-b\nb|t b|b\nv-b\nb\\k_e f_b/b\nl b|c b/b\nl b|b b/b\nl b|b/";while(*i){cout<<string(*i-97,*(i+1));i+=2;}}

Строка ввода i кодируется в виде пар символов:

  1. Количество повторяющихся символов (добавлено к «а», чтобы быть читаемым символом)
  2. Символ для печати

Я думаю, здесь еще много возможностей для улучшения.

Редактировать:

  1. Заменили путчар на cout <<
  2. Удалить while, использовать строковой конструктор для повторения символов
  3. Удален пробел перед указателем и ложная точка с запятой ;;
  4. Составление инструкции с запятой, удаление скобок.

C ++ 11 не поддерживает autoв качестве возвращаемого типа, это особенность C ++ 14. Однако вы можете исправить это и сохранить байт, сделав тип возвращаемого значения int. Похоже, этот код не работает; не могли бы вы проверить это на Попробуйте онлайн! и посмотрим, сможешь ли ты это исправить?
musicman523

Изменен тип возвращаемого значения auto -> void. Я тестировал на Visual Studio 2017 - автоматически C ++ 14. Добавлена ​​версия для gcc.
Роберт

О, хорошо, понял. Я использую Linux, поэтому у меня нет VS. Хорошая работа!
musicman523

Привет, Роберт, твой подход к кодированию длины пробега похож на мой; см здесь . Я дополнительно упаковываю каждую пару (length, char) в один символ вместо 2. Имеется 7 возможных символов и 8 различных длин; поэтому я использую 56 символов ' '..'X'для кодирования; что экономит 40 байтов с небольшими дополнительными издержками на декодирование.
Час Браун


3

R16K1S60 в сборе , 152 144 байта

Записывает вывод на периферийное устройство R16K1S60 в ASCII. Работает на Порошок Игрушка сохранить2012356 . (См. Ссылку в шапке для информации)

Размер программы в байтах - это скомпилированный результат (Cells Used * 2), а не сборка.

Вы знаете, что преуспели, когда логотип занимает больше места, чем ваш байт-код.

a:
mov ex, ip
mov ax, .string
mov sp, ip
mov dx, 0x1000
send sp, dx
.loop:
mov bx, [ax]
cmp bx, ip
je .end
cmp bx, ip
je .newline

shr bx, cx, 8
and cx, 0x00FF
.inner:
send sp, cx
sub bx, ex
jnz .inner
.reentry:
add ax, ex
jmp .loop
.newline:
add dx, 0x0020
send sp, dx
jmp .reentry
.string:
dw 0x0120
dw 0x135F
dw 0x000C
dw 0x012F
dw 0x1320
dw 0x015C
dw 0x000C
dw 0x152D
dw 0x000C
dw 0x017C
dw 0x1320
dw 0x017C
dw 0x000C
dw 0x152D
dw 0x000C
dw 0x017C
dw 0x1320
dw 0x017C
dw 0x000C
dw 0x152D
dw 0x000C
dw 0x015C
dw 0x0A5F
dw 0x0420
dw 0x055F
dw 0x012F
dw 0x000C
dw 0x0B20
dw 0x017C
dw 0x0220
dw 0x012F
dw 0x000C
dw 0x0B20
dw 0x017C
dw 0x0120
dw 0x012F
dw 0x000C
dw 0x0B20
dw 0x017C
dw 0x012F
dw 0x0009
.end:
hlt

объяснение

Приведенный выше код на ассемблере реализует простой алгоритм сжатия: слова 0x000C - это новая строка, а 0x0009 - команда для остановки выполнения.

Остальные слова кодируются просто, например так: 0xTTCC

  • T: время повторить значение

  • C: символ ASCII для печати

ASM использует все доступные ему регистры, включая некоторые из менее часто используемых:

  • Указатель инструкций для быстрого вызова нескольких известных значений с целью сохранения некоторых байтов (постоянное значение в экземпляре, а не просто регистр, использует дополнительный байт для его хранения)

  • Указатель стека используется в качестве шестого регистра общего назначения, поскольку ни один из кодов не использует этот стек.

Только AX, BX, CX и DX фактически используются для важных данных. EX и SP используются для хранения некоторых часто используемых констант.

Это несколько просто, и у него нет шансов на победу, но было весело писать!

Смотрите историю изменений для старого ответа (он такой же большой с точки зрения ASM)

Funfact: если бы это было измерено в словах (в случае R16K1S60,16 бит), это было бы меньше, чем ответ Pyth, на 72 байта




2

Mathematica, 163 байта

Row@Map[Column,Characters/@{" /-|-|-\\   ",r="_ - - -_   ",r,r,r,r,r,r,r,r,r,"_ - - - |||","_ - - -   /","_ - - -  / ","_ - - - /  ",r,r,r,r,r," \\-|-|-/   "},{1}]


2

Python 2, 171 байт

p,u,q,v,r,s,F=' ','_','/','|','-'*21,'\\',lambda f,m:f+m*19+f;B=lambda n:p*11+v+p*n+q
print'\n'.join([F(p,u),q+p*19+s,r,F(v,p),r,F(v,p),r,s+u*10+p*4+u*5+q,B(2),B(1),B(0)])

Каждая строка ровно 85 байтов! Hoorah!


2

Zsh, 244 байта

Это специально написано для Zsh, а не Bash, поскольку позволяет немного больше с точки зрения странного синтаксиса.

alias p=printf
function r { p "$1%.s" {0..$2}}
function l { p $1;r $2 19;p $3;p "\n"}
l " " _ " "
l / " " \\
l - - -
l \| " " \|
l - - -
l \| " " \|
l - - -
p \\
r _ 10
r " " 4
r _ 5
p "/\n"
r " " 11
p "|  /\n"
r " " 11
p "| /\n"
r " " 11
p \|/

Примечание: когда я пытался запустить его на tio.run, результат был другим, чем на моем терминале. Исправление к этому заменяет

function r { p "$1%.s" {0..$2}}

с

function r { p "$1%.0s" {0..$2}}

что сделало бы это 245 байтами ( ссылка ).

Редактировать Похоже, я слишком хотел нажать на эту кнопку и пропустил некоторые пробелы, что сделало мое решение немного менее эффективным. Мой новый вывод кажется выключенным, но я думаю, что рассчитывал правильно (но это не изменило бы длину в любом случае).


Добро пожаловать в PPCG! Обратите внимание, что в нижней строке подчеркивания есть пробел из четырех пробелов, который отсутствует в выводе вашего кода.
Steadybox

@Steadybox Ооо глупо мне. Я обновил ответ, спасибо за указание на это!
Luca_Scorpion

Нет проблем! К сожалению, я думаю, что это все еще немного, но это должно исправить это (и это также экономит вам байт!).
Steadybox

Я думаю, что вы можете сохранить несколько байтов, используя «funcname () {}» вместо «function funcname {}»
Winny


2

Python 2, 159 153 139 байт

s=" "*19;e="-"*21;a=" "*9;print" %s\n/%s\\\n%s\n|%s|\n%s\n|%s|\n%s\n\%s    %s/\n%s|  /\n%s| /\n%s|/"%("_"*19,s,e,s,e,s,e,"_"*8,"_"*7,a,a,a)

Попробуйте онлайн!

РЕДАКТИРОВАТЬ: Сохранено 6 байтов с использованием %форматирования вместо .format().
РЕДАКТИРОВАТЬ: Сохранено еще 14 байтов, исправляя вывод, благодаря musicman523.


1
Это не печатает точный текст (дополнительные строки присутствуют). Исправление этого, вероятно, также сэкономит некоторые байты.
officialaimm

Вот исправленная версия , поступающая с горячими 139 байтами
musicman523

2

Japt , 79 72 71 байт

" _p
/ p\\
{"-r
| p|
"²}-r
\\_g a_b/
 h|  /
 h| /
 h|/"r".%l"_g p6nZÅnH

Проверь это

  • 7 байтов сохранено благодаря превосходному предложению ETHproductions об использовании целых 32 чисел для значений повторения.

Очень хороший метод сжатия. Если вы используете, nHвы можете сохранить еще несколько байтов: ethproductions.github.io/japt/…
ETHproductions

1

JavaScript (ES6), 151 байт

_=>` 2_________
/0\\
1
|0|
1
|0|
1
\\2    _____/
3|  /
3| /
3|/`.replace(/\d/g,a=>a.repeat.call(...[[" ",19],["-",21],["_",10],[" ",11]][a]))

Тестовый фрагмент

f=
_=>` 2_________
/0\\
1
|0|
1
|0|
1
\\2    _____/
3|  /
3| /
3|/`.replace(/\d/g,a=>a.repeat.call(...[[" ",19],["-",21],["_",10],[" ",11]][a]))

O.innerHTML=f()
<pre id=O>




1

,,, , 115 101 98 байт

Мне абсолютно стыдно, что это лучшее, что я могу произвести. >.>

"|/
"' 11×:"| /
"⇆:"|  /
"⇆'
'/'_5×' 4×'_10×92c'
'|' 19×'|'
'-21×+++++3×110⇆⊣"\
"' 19×'/'
'_19×' #
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.