Скульптору поручено создать ледяные скульптуры для нового музея в Гренландии. Его начальник дал ему спецификации, которые состоят из двух чисел: [s, m] или size and melt. Размер должен быть нечетным числом. Ему дали несколько фотографий настоящих сосулек:
vvvvv [5, 0]
vvv
v
vvvvvvv [7, 0]
vvvvv
vvv
v
vvvvvvv [7, 2]
vvvvv
vvvvvvv [7, 3]
vvv [3, 1]
Ему нужна программа, чтобы помочь рисовать. Разрешен любой язык. Программа должна принимать S и M, любой способ ввода приемлем. Затем вы должны распечатать ascii art его представление.
S - это количество v
s на первом слое. М - это сколько слоев вырезано снизу.
Это код-гольф , так как обычно это соревнование основано на байтах . Пробел считается для подсчета байтов. Меньше байтов побеждает.
Редактировать: вы никогда не получите набор чисел, который ничего не рисует, например [5, 3]. Однако проверка кода не требуется.
Ответы:
05AB1E , 11 байт
Попробуйте онлайн!
источник
V , 15 байтов
Попробуйте онлайн!
Довольно просто.
источник
05AB1E , 12 байтов
Код:
Объяснение:
Использует кодировку CP-1252 . Попробуйте онлайн!
источник
;-Ý·¹+'v×.c
спасет один байтMATL , 22 байта
Попробуйте онлайн!
объяснение
источник
Желе , 19 байт
TryItOnline!
Как?
источник
J’
(диапазон длины уменьшился) также будет иметь тот же эффект, но нет пониженной версииJ
, и этоLḶ
довольно мило :)Пакет, 142 байта
источник
Рубин,
4644 байта2 байта сохранены благодаря ГБ
источник
puts
не нужны пробелы?v*(s-2*i)
использования?v*s;s-=2
Python,
7673 байтаРедактировать: 3 байта сохранены благодаря @TuukkaX и @ Challenger5 (Спасибо!)
источник
print
, как есть бесполезный пробел :)lambda s,m:"\n".join([' '*(s/2-i/2)+'V'*i for i in range(s,m*2,-2)])
def f(s,m):
, сохраняя два байта.def f()
7lambda
равно 7. С наконечником Challenger5, def на самом деле короче. по крайней мере, если это то, что вы имели в виду, я думаю :)print
, так что это на 4 символа короче (lambda s,m:"\n".join(...)
), посколькуlambda
s в основном имеет неявный возврат.JavaScript (ES6), 57 байт
Выводит завершающий символ новой строки. Если допускается начальный перевод строки, то для 54 байтов:
источник
Python 2, 63 байта
источник
Turtlèd , 53 байта
Попробуйте онлайн!
Объяснение:
источник
Java,
138137 байтUngolfed:
Обновление: один байт и тело цикла исчезли благодаря @ClaytonRamsey.
источник
C 83 байта
Ungolfed и использование:
источник
Pyth, 21 байт
Программа, которая принимает ввод с
S
последующимM
, разделенным новой строкой и печатает результат.Тестирование
Как это работает
источник