... ты поможешь мне увековечить это?
У меня была эта подушка несколько лет, и, видимо, пришло время избавиться от нее. Можете ли вы написать функцию или программу, которую я могу взять с собой и использовать для воссоздания этой подушки, когда захочу немного вспомнить.
Он должен работать без входных аргументов.
Вывод должен выглядеть точно так (завершающие символы новой строки и пробелы в порядке).
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
Это код гольф, поэтому выигрывает самый короткий код в байтах!
Leaderboard
code-golf
ascii-art
kolmogorov-complexity
Стьюи Гриффин
источник
источник
Ответы:
05AB1E ,
1815 байтКод:
Объяснение:
Использует кодировку CP-1252 . Попробуйте онлайн!
источник
/// , 116 байт
Попробуйте онлайн!
Редактировать :
\\\\\\\\\\\\\\\/
и\\\\\\\\\\\\\\\\
на самом деле один / и \, соответственно.Редактировать : -3, потому что я думал об удалении
i
. Я думаю, что это не может быть дальше в гольфе.источник
Python 2, 49 байт
Спасибо Митчу Шварцу за этот чистый метод, который экономит байт. Идея состоит в том, чтобы напечатать четыре строки
('\\'*5+'/'*5)*6
, поменять местами косую черту и обратную косую черту, а затем выполнить весь этот процесс 6 раз. Два символа хранятся вa
иb
и заменяются какa,b=b,a
. Двойной цикл удваивается, генерируя следующую кодовую строку, а затем выполняя ее с помощьюexec
:50 байтов:
Создает строку строки, печатает ее четыре раза и затем переворачивает, а затем делает это 6 раз. Делает это, генерируя следующий код, затем выполняя его:
Вот несколько итераций моего игры в гольф:
источник
05AB1E, 15 байтов
Попробуйте онлайн!
Объяснение:
Использует кодировку CP-1252 .
источник
JavaScript (ES6),
686058 байтРекурсивная функция. Несколько оптимизаций, вдохновленных ответом chocochaos .
демонстрация
Показать фрагмент кода
источник
&1
и сохранить два байтаn < 480
. Дляn >= 480
, мы должны были бы круглые скобки:(n/240^n/5)&1
.Жевательная резинка , 30 байт
Обязательный Bubblegum ответ.
источник
Haskell,
777057 байтСкучно
concat
s иreplicate
s вместо игры с синусами. Старый был:источник
Brainfuck, 140 байт
:-D
источник
Python 2,
8680767473 байтаМожет быть, еще немного поиграть в гольф, но это только начало.
редактировать
Сохранено 6 путем удаления ненужных скобок
Еще 4 с использованием одной строки, а затем наоборот
Спасибо @Аднан. Прошлой ночью прошлой ночью и до сих пор не совсем проснулся: p
-1, перемещая
*24
переменную вместо ее использования дваждыисточник
*6*4
это так же, как*24
? : pBrainfuck, 149 байтов
Лучший переводчик EVAR!
Это использует 6 ячеек (без упаковки, по модулю). Они здесь:
Эти
00
клетки используются для счетчиков циклов. Здесь счетчики заполняются начальными значениями:Крайний левый счетчик предназначен для самого внутреннего цикла (да, я использую вложенные циклы глубиной 3). Обратите внимание, что 4-я ячейка (
04
счетчик) используется дважды, один раз/////\\\\\...
и один раз за\\\\\/////...
каждый раз.0A
,2F
И5C
являются символами\n
,/
и\
, соответственно.источник
Python 2.7 66 -> 56 -> 55 байт
новичок в коде гольф
Спасибо Стьюи Гриффин
Забыл глупый пробел;)
источник
d
аe
может и больше. Я не проверял это, но это должно быть близкоprint(4*c+4*(6*b+"\n"))*3
. Это на 5 байт меньше.a="/"*5+"\\"*5;print(4*(6*a+"\n")+4*(6*a[::-1]+"\n"))*3
Brainfuck, 179 байтов
Я знаю, что это не лучший результат в этой ветке, но я хотел попробовать себя в этом и попробовать.
Редактировать: Я должен был сделать ошибку при копировании. Эта версия должна работать
источник
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
четыре раза, затем бесконечный\
.Дьялог АПЛ , 24 байта
источник
'/\'[4⌿5/2|+/¨⍳6 12]
(требуется⎕io←0
)Пайк, 16 байт
После сегодняшнего обновления, разрешенного
"
в строковых литералах, 17 байтовПопробуй это здесь!
источник
MATL ,
1816 байтовПопробуйте онлайн!
объяснение
источник
Pyth, 22 байта
Попробуй это здесь .
Объяснение:
Извините, если объяснение немного сложно понять, но это было довольно сложно.
источник
V ,
2221 байтРедактировать Один байт выиграл, спасибо @DjMcMayhem:
Изменения:
Y4P
->4Ä
Использовать двойную строку V вместо встроенной команды Vim (это добавит пустую строку в конце абзаца)3äG
->3ä}
Дублировать абзац вместо всего буфера (чтобы избежать пустой строки, сгенерированной предыдущим изменением)Оригинальный пост
Попробуйте онлайн
Разлагается так:
источник
5á\5á/05ä$5Ä5x$p4Ä3äG
т.е. заменитьY4P
на,4Ä
но по причине, которую я не понимаю, копирует дополнительную пустую строку ... Если вы можете просветите меня на этом, было бы хорошо. Также, если я найду немного свободного времени, я с удовольствием внесу вклад в язык (особенно выпуск № 4 )Ä
это синонимdd
, а неY
. Обычно это не проблема, но это вызывает некоторые проблемы, если буфер имеет только одну строку или если вы находитесь на последней строке.3äG
с ,3ä}
так как он не будет дергать эту последнюю строку. v.tryitonline.net/…Желе ,
1716 байтПопробуйте онлайн!
Спасибо 6710 (миль) за -1 байт.
источник
⁾/\ẋ6Wẋ4;U$ẋ3x5Y
Y
!На самом деле , 21 байт
Попробуйте онлайн!
-1 байт от Аднана
Объяснение:
источник
"/\"5*S
создания слэша?Рубин, 46 байт
Создает следующую строку (70 символов, на один набор больше, чем нужно), затем чередуется между символами выборки
0..59
и5..64
из нее.код и вывод
интересная ошибка (7 вместо 5)
источник
APL, 30 байт
Я совершенно новичок в APL (я использую APLX, но это должно работать в большинстве реализаций APL), так что это довольно упрощенное решение.
Объяснение:
источник
C
6661 байт5 байтов сохранено благодаря orlp.
Простая печать символов. 61 символ в строке, последний перевод строки (ASCII 10), остальные чередуются между
/
47 и\
92.источник
i;f(){for(i=1463;i;)putchar(i--%61?i%61/5+i/244&1?92:47:10);}
.i--
но у меня не было времени его искать.Python 2, 63 байта
Для Python 3 сделайте это (65 байт):
источник
/////\\\\\/////...
четыре раза, разделенные символами новой строкиСамомодифицирующийся Brainfuck , 91 байт
Попробуйте онлайн!
То же самое, что и мой ответ «brainfuck» , но использует 3 последних символа исходного кода вместо генерации их во время выполнения.
источник
J,
312819 байтиспользование
источник
Октава,
5048 байтовАнонимная функция:
Вы можете попробовать онлайн здесь . Просто запустите приведенную выше команду, а затем запустите функцию с помощью
ans()
.По сути, это создает массив со значением 47, который имеет высоту 4 и ширину 5. Затем он создает второй массив со значением 92 того же размера.
Два массива объединены в шахматную доску
[A B;B A]
.''
Сцепляются, а заставить преобразование в символьные строки.Наконец весь массив реплицируется 3 раза вниз и 6 раз поперек, чтобы сформировать окончательный размер.
источник
ans=
перед подушкой. Наличие этого в функции позволяет обойти это, поскольку ожидается, что он будет возвращать ответ переменной, а не отображать его.ans()
). Что бессмысленно, так какans()
все равно печатаетans
при запуске!ans()
- дескриптор вызываемой функции, поэтому вам не нужно присваивать его чему-либо, напримерa=@...
, потому что он неявно назначаетсяans
как дескриптор. Также он не печатаетсяans=
при запуске, если вы специально не попросите об этом, ничего не делая с возвращенным значением и не добавляя a;
. Если вы это сделаете, вы получитеdisp(ans())
только точный результат (нетans=
). Но да, это раздражает, хотя раньше этого не происходило, поэтому оно не зависит от языка, а зависит от интерпретатора.disp(ans())
что получите результат, вам нужно добавить 12 байтов в ваш ответ. Мое собственное мнение таково, что именно так октава представляет свой результат, и это нормально.PHP,
7369 байтдемонстрация
http://ideone.com/z7N1Md
источник
for($s='/\\';$i<1440;$i++)echo$i%60<1?'\n':'',$s[($i/5+($i/240|0))%2];
(заменить\n
реальный перевод строки).echo
это не функция, поэтому она не нуждается в скобках. Такжеecho
можно получить несколько значений, разделенных запятой. Это действительно устраняет необходимость в этих скобках. И затем, внутри вашего$s[...]
самого внешнего вычисления также не нужны круглые скобки, так как оно содержится внутри[]
. Использование$s[($i/5+($i/240|0))%2]
имеет тот же эффект и короче.echo
иprint
принять несколько параметров. Ноprint
требует использования скобок с несколькими параметрами при использовании для приращения, условия или присваивания цикла.<1
, переключая выраженияecho$i%60?'':' ',
, новой строкой, как выражение 3 в троичной форме.Java 7, 120 байт
Сложил все в одну петлю. Beats Brainfuck, миссия выполнена.
Смотрите это онлайн: https://ideone.com/pZjma3
источник
Vim,
4427 байтовРЕДАКТИРОВАТЬ Лот байтов выиграл благодаря @DrMcMoylex:
Оригинальный ответ:
Я не уверен, что это действительно соответствует правилам этого сайта, но я подумал, что было весело попробовать:
Который может быть разложен так:
источник
5i/<esc>5a\<esc>0y$5P
в начале, чтобы сохранить 9 байтов.Brainfuck, 168 байт
источник