Это версия ASCII этого вызова . Первоначальный пост был отделен по запросу Мартина Эндера
Введение
Подобно последовательности Фибоначчи, последовательность Падована ( OEIS A000931 ) представляет собой последовательность чисел, которая получается путем добавления предыдущих терминов в последовательность. Начальные значения определяются как:
P(0) = P(1) = P(2) = 1
Все 0-й, 1-й и 2-й члены равны 1. Отношение повторения указано ниже:
P(n) = P(n - 2) + P(n - 3)
Таким образом, он дает следующую последовательность:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ...
Использование этих чисел в качестве длины сторон равносторонних треугольников дает хорошую спираль, когда вы размещаете их все вместе, во многом как спираль Фибоначчи:
Изображение предоставлено Википедией
задача
Ваша задача состоит в том, чтобы написать программу, воссоздающую эту спираль в соответствии с искусством ASCII, с вводом, соответствующим определенному термину. Так как треугольник с длиной стороны 1 (1 символ) невозможно хорошо представить в ASCII, длины сторон были расширены с коэффициентом 2. Таким образом, треугольник с длиной стороны 1 фактически представлен так:
/\
/__\
Так, например, если входное значение было 5 (5-й член), выходное значение должно быть:
/\
/ \
/ \
/______\
\ /\
\ /__\
\ /\ /
\/__\/
Первые 5 слагаемых были 1, 1, 1, 2, 2, поэтому треугольник имел длину сторон 2, 2, 2, 4, 4 из-за расширения. Еще один пример для ввода 8:
__________
/\ /\
/ \ / \
/ \ / \
/______\ / \
\ /\ / \
\ /__\/ \
\ /\ / \
\/__\/______________\
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\/
правила
- Вы должны напечатать результат, и ввод должен быть целым числом, соответствующим номеру термина
- Допускается завершающий и ведущий переводы строк, также допускаются завершающие пробелы после строк
- Ваша заявка должна быть в состоянии обработать по крайней мере до 10-го семестра (9)
- Ваша заявка должна быть полной программой или функцией, которая принимает данные и печатает результат
- Вращения выходных данных допускаются с кратностью 60 градусов, но размер треугольников должен оставаться неизменным вместе с представлением
- Также возможно движение против часовой стрелки
- Стандартные лазейки запрещены
Вы можете предположить, что ввод будет> 0, и будет указан правильный формат ввода.
счет
Это код-гольф , поэтому выигрывает самый короткий код в байтах. Всех с новым годом!