Ваша миссия сегодня состоит в том, чтобы создать вихрь с одним параметром.
Этот параметр определяет длину каждой руки в символах.
Каждый «слой» каждой руки содержит на один символ больше, чем последний.
Вот как будет выглядеть вихрь, учитывая длину руки:
0:
#
1:
#
###
#
2:
#
# #
###
# #
#
3:
## #
# #
###
# #
# ##
4:
# #
## #
# #
###
# #
# ##
# #
10:
#
#
#
#
#
#### #
### #
## #
# #
###
# #
# ##
# ###
# ####
#
#
#
#
#
Применяются стандартные лазейки, необязательный конечный пробел, любой отдельный непробельный символ в ASCII может заменить «#».
Это код-гольф, поэтому выигрывает самый короткий ответ в байтах.
Ответы:
MATL , 60 байт
Попробуйте онлайн! Или проверьте контрольные примеры: 0 , 1 , 2 , 3 , 4 , 10 .
Это оказалось смешнее, чем я ожидал. Объяснять будет сложнее, хотя ...
источник
Желе , 48 байт
Попробуйте онлайн!
(Сделайте все более квадратным, заменив последний
Y
наG
, добавив пробел между каждым столбцом).Как?
Строит список
#
координат руки относительно центра. Преобразует это в координаты четырех рукавов из верхнего левого угла и добавляет центральную координату. Создает таблицу со всеми координатами в пространстве и устанавливает для нее стрелки#
и пространствои объединяет строки с помощью новых строк.
источник
Mathematica
139172 байтаИдея состоит в том, чтобы создать одну руку с функцией,
{⌊.5+.5(-7+8#)^.5⌋,#-1}
которая выплевывает индекс каждого элемента руки, предполагая, что средний элемент имеет индекс (0,0). Никто еще не понял этого, но я подозреваю, что эта идея приведет к победному ответу на лучшем языке для игры в гольф. Затем я поворачиваю руку на кратные 90 градусов, переиндексирую и строю матрицу.SparseArray
казалось очевидным выбором для построения матрицы, но мог бы пойти сBoxMatrix
иReplacePart
.Ungolfed (Жесткий код для длины руки = 3,
%
означает предыдущий вывод):Использование% @ 4
Как я узнал, выходные данные должны быть чисто ASCII без дополнительного пробела или форматирования, код должен быть немного длиннее (172 байта):
источник
Древесный уголь , 30 байт
объяснение
Попробуйте онлайн!
источник
Trim
кажется, работает гольфистом:NθFθ⁺¶#×#ιJ⁰¦⁰Tθ⁺¹θ#⟲O↖²⁴⁶
(⁺¹
это обходной путь, потомуT⁰¦⁰
что по какой-то причине не работает. и тогда⊕
не существовало.)