проблема
данный вклад a,b,c
где a,b,c
положительные четные целые
а также a > b > c
Сделайте коробку любого разрешенного персонажа с размерами a x a
Центрируйте рамку другого допустимого символа с размерами в b x b
пределах предыдущего
Центрируйте рамку другого разрешенного символа с размерами в c x c
пределах предыдущего
Разрешенные символы - это символы ASCII в [a-zA-z0-9!@#$%^&*()+,./<>?:";=_-+]
вход a=6, b=4, c=2
######
#****#
#*@@*#
#*@@*#
#****#
######
вход a=8, b=6, c=2
########
#******#
#******#
#**@@**#
#**@@**#
#******#
#******#
########
вход a=12, b=6, c=2
############
############
############
###******###
###******###
###**@@**###
###**@@**###
###******###
###******###
############
############
############
правила
- Самый короткий код выигрывает
- Помните, что вы можете выбрать, какой символ печатать в заданном диапазоне
- Конечные переводы приняты
- Конечный пробел принят
- функции могут возвращать строку с символами новой строки, массивом строк или распечатывать ее
Ответы:
Древесный уголь , 14 байтов
Попробуйте онлайн! Ссылка на подробную версию кода.
источник
Желе ,
2019 байтов-1 байт, используя быстрое,
`
чтобы избежать ссылки, как предложил Эрик Outgolfer.Полная программа с списком,
[a,b,c]
печатающим коробки с использованиемa:2 b:1 c:0
... на самом деле, она будет работать до 10 ящиков, где находится самый внутренний ящик
0
( например ).Попробуйте онлайн!
Как?
источник
Python 2,
107103 байтаПолная программа печатает коробки с
a=2
,b=1
,c=0
Чуть хуже ответ, с пониманием списка (104 байта):
источник
C #,
274232 байтаУжасно даже для C #, поэтому определенно можно играть в гольф, но мой разум опустел.
Полная / Отформатированная версия:
источник
j + m <= n + c
можете статьn + c > j + m
i + m >= n
чтобыn < i + m
i+m
4 раза, так что вы можете добавить его в свою переменную,for
чтобы сэкономитьi
в изоляции, просто инициализируйтеi=m
и сравнитеi<b+m
; или ... просто используйтеi
init,i=0
но включите циклi<a
, затем добавьтеr[i]=new string('#',a),
рядомj=0
и добавьте условие для проверкиi
в пределах границ дляj
цикла (это должно окупиться, потому что вы потеряете весь Linq).Haskell , 126 байт
Попробуйте онлайн!
источник
JavaScript (ES6),
174170147 байтПопытайся
объяснение
источник
C (gcc) , 97 байт
Попробуйте онлайн!
источник
V ,
70, 44, 42 байтаПопробуйте онлайн!
Это отвратительно Eww.Намного лучше. Все еще не самое короткое, но по крайней мере несколько роде гольф.Сохранено два байта благодаря @ nmjmcman101!
HexDump:
источник
MATL ,
2623222018 байтВвод - это вектор столбца
[a; b; c]
. Выходные использует символы2
,1
,0
.Попробуйте онлайн!
Кроме того, он работает до десяти коробок, а не только для трех. Вот пример с пятью коробками .
источник
Mathematica, 49 байтов
Принимает участие
[c, b, a]
. Выход естьa=1, b=2, c=3
.Как?
источник
Grid
Не создаетString
и не делаетPrint
этого.PHP> = 7.1, 180 байт
В этом случае я ненавижу, что переменные начинаются с
$
в PHPPHP Sandbox Online
источник
$argv
в качестве массива? Вы пробовали это? Вы пробовали отдельные тройники?Mathematica, 173 байта
вход
источник
Python 2 , 87 байт
Попробуйте онлайн!
Арифметически вычисляет числа для печати, добавляя числа формы
111100
. Там много уродства, возможно, есть место для улучшения.источник
Java 8,
265252 байта-13 байт, заменяя символы цифрами.
Можно определенно играть в гольф, используя другой подход.
Объяснение:
Попробуй это здесь.
источник
JavaScript (ES6), 112
Анонимная функция, возвращающая многострочную строку. Персонажи 0,1,2
Меньше гольфа
источник
PHP> = 5,6, 121 байт
Запустите
-nr
или протестируйте его онлайн .Снова объединил петли ... Я их люблю!
сломать
источник