Вызов
С учетом входных данных n
напечатайте художественные n
слои торта ASCII высотой, если смотреть со стороны, с двумя свечами сверху. См. Примеры ниже для деталей.
Выход
>> cake(1)
_|_|_
| |
+-----+
>> cake(3)
_|_|_
| |
+---------+
| |
+-------------+
| |
+-------------+
...и так далее.
правила
- Стандартные лазейки запрещены
- Пожалуйста, попробуйте умное решение
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах. Однако ответ не будет выбран.
Веселиться!
code-golf
ascii-art
kolmogorov-complexity
dkudriavtsev
источник
источник
i=int(input())
int(input())
наinput()
иprint
оператор, плюс вы можете изменить четыре пробела на один (если это табуляция, измените ее на пробел, чтобы сделать более очевидным, что это один символ) , Кроме того, ваш счет по какой-то причине слишком высок.Рубин,
109107 байтисточник
Пакет, 233 байта
Короче чем питон? Что-то должно быть не так ...
источник
JavaScript (ES6), 134 байта
Рекурсивный торт.
демонстрация
источник
Haskell, 103 байта
Определяет функцию,
g
которая возвращает список строк, содержащих строки выводаисточник
05AB1E,
115, 101 символСпас 14 символов благодаря Аднану!
Определенно, здесь есть место для игры в гольф.
Попробуйте онлайн!
Обратите внимание, что это печатает все смещение на один пробел.
источник
×
командой. Это пример того, как это используется.Python 2, 122 байта
источник
Python 3, 162 символа
Это не очень умно, но я никогда не делал этого раньше. (Изменить: убраны лишние скобки; уменьшены еще на один символ)
источник
Pyth, 73 байта
Программа, которая принимает ввод целого числа в STDIN и печатает результат.
Здесь, вероятно, еще предстоит сыграть в гольф.
Попробуйте онлайн
Объяснение позже
источник
JavaScript (ES6), 171 байт
Первый проход, наверное, не оптимальный ...
источник
PHP,
150147138136130140 байтновый подход:
старая версия для справки:
источник
$argv
. : - /Vimscript,
116115 байтовДовольно грязно, но это работает!
Называть это:
call A(3)
в пустую буфере. Чтобы загрузить функцию,source cake.vim
объяснение
2i+<Esc>5i-<Esc>
пишет первую строку+-----+
o||<Esc>5i<Space><Esc>
добавляет| |
на второй строкеVkyjply4lpjy4hp
сохраняется в макросе@z
- он визуально выбирает обе строки, восстанавливает их, вставляет в них и добавляет к ним 4 тире и пробелы.#@z
повторяет это#
разddl4x
удаляет последние строки и удаляет штрихи в нижней части торта, чтобы сделать его равным верхней части нижнего слояggd$i_|_|_
заменяет первую строку на вершину торта%ce
затем центрирует весь пирог по ширине нижнего слоя! !источник
SOGL V0.12 ,
2726 байтовПопробуй здесь!
Объяснение:
источник
Excel VBA,
139130127 байтАнонимное немедленное окно VBE, которое принимает входные данные из ячейки
A1
и выводит торт в непосредственное окно VBEисточник
CJam, 79 байтов
Попробуйте онлайн
источник
QBasic, 115 байт
Ungolfed
Распечатать верхнюю строку со свечами; затем напечатайте оставшуюся часть торта двумя строками за раз.
SPC
при использовании вPRINT
выражении испускает указанное количество пробелов. Удобно, когда передается отрицательный аргумент, он обрабатывает его как 0, поэтому тот факт, что онindent - 2
находится-2
на последней итерации, не является проблемой.STRING$
берет счет и код символа (здесь 45 для-
) и повторяет символ это число раз. Здесь мы должны в специальном случае, чтобы последняя строка (когдаi=n
) была на 4 дефиса короче, чем она была бы в противном случае.источник
C (gcc) ,
158153 байта-5 байт благодаря потолку.
Попробуйте онлайн!
источник