Schreiben Sie ein Programm oder eine Funktion, die eine positive ganze Zahl N aufnimmt und die ersten N Zahlen dieses verstärkenden Zick-Zack-Musters ausgibt, wobei Sie nur die benötigten Zeilen verwenden:
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
Also, wenn N ist, ist 1
der Ausgang
1
Wenn N ist 2
, ist die Ausgabe
2
1
Wenn N ist, ist 3
der Ausgang
2
1 3
Wenn N ist, ist 4
der Ausgang
2
1 3
4
Wenn N ist, ist 10
der Ausgang
10
9
2 8
1 3 7
4 6
5
Wenn N ist, ist 19
der Ausgang
10
9 11
2 8 12
1 3 7 13
4 6 14
5 15 19
16 18
17
und so weiter.
Anmerkungen
Jeder Gipfel oder Tiefpunkt des Zickzacks erreicht seinen Punkt eine Linie weiter von der Linie mit dem
1
darauf als der vorherige Gipfel oder Tiefpunkt.N ist nicht beschränkt auf
44
. Der Zickzack wächst im gleichen Muster und es sollte ein größeres N unterstützt werden.Zahlen mit mehreren Ziffern sollten wie abgebildet nur an den Ecken "anfassen". Stellen Sie sicher, dass dies funktioniert, wenn N
100
und höher ist.Die Ausgabe sollte keine leeren Zeilen (oder nur Leerzeichen) enthalten, mit Ausnahme einer optionalen nachgestellten neuen Zeile.
Jede Zeile kann beliebig viele nachgestellte Leerzeichen enthalten.
Wertung
Der kürzeste Code in Bytes gewinnt. Tiebreaker ist frühere Antwort.