Вызов
Мы все знаем о нормальных рождественских елках - но как насчет перевернутой рождественской елки ! Это довольно простой, рождественский тематический вызов. Цель этой задачи - сделать из меня ASCII перевернутую рождественскую елку. Вот правила для этого вызова:
- Примите нечетное, положительное целое число. Вы можете предположить, что это всегда будет между
7и51. Основа дерева будет составлена из символов:
___ \ / |Верх дерева (звезда) будет состоять из одного
*.Каждая строка дерева будет построена в формате
<?>где?любое число-s. Например, если вы делаете линию длины5, строка должна быть<--->. Или если сделать линию длины8, линия должна быть<------>.Вот как должно быть построено тело дерева:
Возьмите нечетное число,
nданное в качестве входных данных, и создайте линию дерева этой длины.Вычтите
4изnи создать линию дерева этой длины.Вычтите
2изnи создать линию дерева этой длины.Уменьшение
nна2. После этого, если нетnравных5, вернитесь к шагу 2.
База (см. Шаг 2.) звезда (см. Шаг 3.) и каждая линия дерева (см. Шаги 4. и 5.) должны быть центрированы с использованием исходного ввода нечетного числа (см. Шаг 1.) в качестве максимального ширина.
Примеры / Тестовые случаи
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
правила
- Применяются стандартные лазейки .
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах!
repeat the above steps until the odd number minus 2 equals 5- в первом входе нечетное число равно 7, и 7-2 = 5, поэтому дерево должно заканчиваться мгновенно (я знаю, что вы имеете в виду, но оно нуждается в перефразировании)
7минимальным входным значением, вы должны сначала создать три линии дерева (подэтапы .1.1, .1.2, .1.3), затем вычесть 2нечетное число и проверить, равно ли оно 5. Инструкция для проверки того, что «нечетное число минус 2 равно 5» находится в конце, остальные три шага должны быть выполнены в первую очередь. Но чтобы ответить на ваш первый комментарий, это было бы хорошо.
7качестве входных данных или вы можете принять 4, как в четвертом нечетном числе (или 3если оно индексировано 0).