Напишіть програму або функцію, яка приймає додатне ціле число N і виводить перші N числа цього посилюючого зигзагоподібного шаблону, використовуючи лише потрібні рядки:
26
25 27 .
10 24 28 .
9 11 23 29 .
2 8 12 22 30 44
1 3 7 13 21 31 43
4 6 14 20 32 42
5 15 19 33 41
16 18 34 40
17 35 39
36 38
37
Отже, якщо N - 1
вихід є
1
Якщо N дорівнює 2
, вихід є
2
1
Якщо N - 3
вихід є
2
1 3
Якщо N - 4
вихід є
2
1 3
4
Якщо N - 10
вихід є
10
9
2 8
1 3 7
4 6
5
Якщо N - 19
вихід є
10
9 11
2 8 12
1 3 7 13
4 6 14
5 15 19
16 18
17
і так далі.
Примітки
Кожна вершина або корито зигзагу досягає своєї точки ще на одну лінію від лінії, що знаходиться
1
на ній, ніж попередня вершина чи корито.N не обмежується
44
. Зигзаг росте за тією ж схемою, і більший N слід підтримувати.Цифри з декількома цифрами повинні "торкатися" лише кутів, як зображено. Переконайтеся, що це працює, коли N є
100
і вище.У виході не повинно бути порожніх (або лише пробілів) рядків, за винятком одного необов'язкового кінцевого нового рядка.
Будь-яка лінія може мати будь-яку кількість пробілів.
Оцінка балів
Виграє найкоротший код у байтах. Тирбейкер - це відповідь раніше.