Herausforderung:
Erstellen Sie bei einer positiven Ganzzahleingabe n einen Vektor, der diesem Muster folgt:
0 1 0 -1 -2 -1 0 1 2 3 2 1 0 -1 -2 -3 -4 -3 -2 -1 ... ±(n-1) ±n
Oder mit Worten erklärt: Der Vektor beginnt bei 0und führt Inkremente aus, 1bis er die kleinste ungerade positive Ganzzahl erreicht, die nicht Teil der Sequenz ist, und dekrementiert, bis er die kleinste (in der Größe) gerade negative Ganzzahl erreicht, die nicht vorhanden ist ist nicht Teil der Sequenz. Es geht so weiter bis nerreicht ist. Die Sequenz endet mit positiv, nwenn nungerade, und negativ, nwenn ngerade.
Das Ausgabeformat ist flexibel.
Testfälle:
n = 1
0 1
-----------
n = 2
0 1 0 -1 -2
-----------
n = 3
0 1 0 -1 -2 -1 0 1 2 3
-----------
n = 4
0 1 0 -1 -2 -1 0 1 2 3 2 1 0 -1 -2 -3 -4
-----------
n = 5
0 1 0 -1 -2 -1 0 1 2 3 2 1 0 -1 -2 -3 -4 -3 -2 -1 0 1 2 3 4 5
Sie können sich dafür entscheiden, n mit Nullindex zu verwenden. n = 1würde dann geben 0 1 0 -1 -2.
Das ist Code-Golf , also gewinnt der kürzeste Code in jeder Sprache! Erklärungen sind wie immer erwünscht!