Используя ASCII, распечатайте часть шестигранного кольца.
Вот небольшой раздел:
/\__/\
/_/ \_\
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
\ \__/ /
\/__\/
Вот большой раздел:
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
Вызов
Учитывая 2 целых числа h
и w
, где h
высота и w
ширина, выведите hxw
часть мозаичного кольца с шестигранной головкой.
Примеры
Вход 1
4x4
Выход 1
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
Вход 2
3x3
Выход 2
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
Вход 3
1x3
Выход 3
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
Вход 4
3x6
Выход 4
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
Разъяснения
- Мой вопрос похож на этот: я хочу соты .
- Ввод будет в одной строке в форме
hxw
. - Вывод на стандартный вывод (или что-то подобное).
- Это код-гольф, поэтому выигрывает самый короткий ответ в байтах.
Ответы:
Befunge, 137 байт
Кажется, я создал какой-то пистолет-пулемет scifi.
Попробуйте онлайн!
объяснение
источник
Луа,
174176156 байтКод выведет количество строк по высоте, а не количество шестиугольников по высоте. Добавил
*4
, что исправил, но добавил 2 лишних байта. Сохраните несколько байтов, изменив счетчик с if на modulo и поместив дваio.read()
s в один.Используется в
io.read()
качестве ввода.Реплицирует количество строк по ширине раз с помощью
string:rep(width)
, затем повторяет количество по высоте раз с циклом for. Нужно[[]]
(буквальные строки), потому что обратные слеши действительно испортили вещи.Старая версия:
источник
Python 2, 180 байт
Принимает ввод как два целых числа
Входные данные:
2,7
Вывод:
источник
Пакетный, 266 байт
:c
Подпрограмма делает все беготню конкатенации куски вместе для одной линии; он вызывается:l
4 раза (один за другим, хотя и организуя:l
аргументы 's как расширенный набор:c
' s), чтобы сгенерировать 4 строки для каждой строки колец. Вместо этого была возможность провалиться в последнем ряду колец, но оказалось, что это на 5 байт длиннее.источник