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 1der Ausgang
1
Wenn N ist 2, ist die Ausgabe
2
1
Wenn N ist, ist 3der Ausgang
2
1 3
Wenn N ist, ist 4der Ausgang
2
1 3
4
Wenn N ist, ist 10der Ausgang
10
9
2 8
1 3 7
4 6
5
Wenn N ist, ist 19der 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
1darauf 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
100und 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.