Виклик
Ми всі знаємо про звичайні ялинки - але як щодо перевернутої ялинки ! Це досить легкий, різдвяний тематичний виклик. Мета цього виклику - перетворити мене на ялинкову ялинку 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-індексований).