Напишите программу или функцию, которая принимает положительное целое число 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
и выше.В выводе не должно быть пустых (или только пробеловых) строк, кроме одной необязательной завершающей строки.
Любая строка может иметь любое количество пробелов.
счет
Самый короткий код в байтах побеждает. Tiebreaker - более ранний ответ.