Буквально! 6 апреля - Национальный день тефлона , который отмечают с помощью кастрюль с тефлоновым покрытием (что мы будем делать). Итак, учитывая положительное целое число n
, создайте тефлоновую сковороду. Раздел «панорамирование» панорамирования представляет собой восьмиугольник, каждая из сторон которого состоит из n
символов, которые будут различаться в зависимости от того, на какой стороне он находится, за исключением сторон, использующих символ {
или }
. Эти стороны будут иметь длину символа всегда. Если n
1:
_
/ \
{ }
\_/
Как вы можете видеть, каждая сторона состоит из одного символа (или {
, }
, /
, \
, или _
). Если n
2:
__
/ \
/ \
{ }
\ /
\__/
Дескриптор будет создан с n+3
=
's и заканчивается нулем ( 0
).
Если n
это один:
_
/ \
{ }====0
\_/
n
это 2:
__
/ \
/ \
{ }=====0
\ /
\__/
n
это 3:
___
/ \
/ \
/ \
{ }======0
\ /
\ /
\___/
Если n
это 4:
____
/ \
/ \
/ \
/ \
{ }=======0
\ /
\ /
\ /
\____/
Правила и критерии
Не допускаются лазейки
Ручка выходит с правой стороны (сторона сделана из
}
персонажа)На входе положительное целое число
Если сторона не состоит из одной
{
или}
(не левой или правой стороны), они будут состоять изn
соответствующих символов:_ / \ Left side { } Right side \_/
- Поскольку это код-гольф , выигрывает самый короткий код!
O
вместо0
ручки?Ответы:
Древесный уголь ,
4138363028 байтСпасибо @Emigna за помощь в сохранении двух байтов, благодаря @ ASCII-only за сохранение шести байтов и благодаря @Neil за сохранение еще двух байтов!
Попробуйте онлайн!
Объяснение:
источник
Nη↖ηG←η_↙↙η{↓↘ηM↑×η_↗η}×⁺³η=P0
Nη↙η↑←×_η↖η↗{↗η×_η↓↘η}×=⁺³η0
(1 байт сохранен печатая нижнюю половину сковороды первого делающегоM
ненужную и 1 байт , сохраненный путем изменения параметров , чтобы×
сделатьP
ненужным.)JavaScript (ES6), 171 байт
Вся сковорода для
пиццыочень повторяющаяся, поэтому функция r (разработанная как помеченный шаблонный литерал) повторяет первый символ ввода n раз. Это обрабатывает верх, середину и линии сковороды. Остальное повторяется путем замены строки заготовок; то$`
и$'
subsitutions автоматически соответствуют увеличение и уменьшение числа заготовок , таким образом , позиционирование/
и\
надлежащим образом . Наконец,_
s заполняются в последней строке, так как она слегка отличается от второй строки в этом отношении.источник
JavaScript + HTML,
575 байт (только 451 байт JS),376 байт (только 482 байт JS)Не сложный подход: несколько конкатенаций строк с использованием условий для пяти различных частей кастрюли: самой верхней, самой нижней и средней линии, а также верхней и нижней половин.
Я сократил столько, сколько мог, но это был предел с этим методом.
РЕДАКТИРОВАТЬ: это не было - дополнительно в гольф @ programmer5000
источник
PHP, 174 байта
Принимает участие от STDIN; запустить
-nR
или проверить это онлайн .сломать
источник
Python 3, 196 байт
Я использовал несколько переменных, чтобы сократить код, но это в основном просто. Вот более длинная, более читаемая версия:
Изменить: изменил читать n из стандартного ввода, 181 → 196 байт
источник
Python 2 ,
180178 байтПопробуйте онлайн!
источник
Python 2,7,
194195191187185 байтПопробуйте онлайн!
Откройте для редактирования предложений, чтобы сделать его меньше. :)
Редактировать 1: +1 байт - Кредиты ElPedro за указание на ошибку в коде, которая сделала его на 1 байт длиннее.
Редактировать 2: -4 байта - Кредиты в piyush-ravi для удаления ненужных аргументов.
Редактировать 3: -4 байта - Как я этого не увидел? :П
Редактировать 4: -2 байта - замена '\ n' на ';'
источник
PowerShell , 165 байт
Попробуйте онлайн!
Принимает ввод
$n
, устанавливает$a
кучу пробелов,$b
набор подчеркиваний, и строка объединяет это с пробелом. Это осталось на конвейере.Петли от
$n
вниз до1
. Если$n=1
, это будет выполнено только один раз. На каждой итерации мы выполняем конкатенацию строк из пробелов, a/
, больше пробелов со счетчиком$i
и a\
. Это все осталось на конвейере.Затем идет средняя часть с ручкой, которая по совпадению имеет
$a*3
пробелы в середине и$n+3
=
знаки, затем a0
. Это осталось на конвейере.Если
$n
больше чем1
, то$n-1
верно, поэтому мы входим в условное, где мы зацикливаем другое направление, чтобы сформировать дно кастрюли. Если$n=1
, тогда нам не нужна эта часть из-за того, как работают линии. Это все осталось на конвейере. Мы заканчиваем пробелами и подчеркиваем$a\$b/
дном сковороды.Все эти строки из конвейера отправляются неявным образом,
Write-Output
который печатает их с символами новой строки между элементами.источник
JavaScript + HTML - 346 байт
JavaScript - 314 байтов, HTML - 32 байта
Un-golfed
источник
C 249 байтов
Попробуйте онлайн
источник