Натхненний Показати ланцюжок маленьких гір з непарним номером на вершині! автор @sygmei .
Навіщо мати ланцюг гір, коли ти можеш мати один масивний?
Створіть програму, яка приймає вхідне число та друкує гору з кожним непарним числом до вхідного номера.
(Де "південний захід" означає directly below and to the left
, а "південний схід" означає directly below and to the right
)
Кожне число матиме /
південний захід від нього та \
південний схід. Він починається 1
вгорі, і наступне число піде на південний захід від /
або на південний схід від \
. Наступний номер буде проходити в рядку, найближчому до вершини та зліва, найбільш можливого.
Для багатозначного числа просто перша цифра повинна знаходитися в потрібному місці, а інші цифри безпосередньо після, і лише перша цифра повинна мати \
і /
виходити з неї.
Гора до 1 або 2 - це просто:
1
/ \
Гора до 3 або 4 - це просто:
1
/ \
3
/ \
Для 25 або 26:
1
/ \
3 5
/ \ / \
7 9 11
/ \ / \ / \
13 15 17 19
/ \ / \ / \ / \
21 23 25
/ \ / \ / \
Останні два рядки, де вхід 121:
111 113 115 117 119 121
/ \ / \ / \ / \ / \ / \
І останні два рядки, де вхід 1019:
993 995 997 999 1001100310051007100910111013101510171019
/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \
Ви можете припустити, що вхід буде більшим за 0 і менше 10001 (виключно).
Пробіли пройдуть у порядку, а додаткові провідні місця проміжки добре, якщо на всіх лініях є однакові.
Це код-гольф , тому виграє найкоротша програма в байтах.
Відповідь на це, що не має права, можна знайти в Інтернеті тут (у Python на repl.it), якщо вам потрібно більше тестових випадків.