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 0
und führt Inkremente aus, 1
bis 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 n
erreicht ist. Die Sequenz endet mit positiv, n
wenn n
ungerade, und negativ, n
wenn n
gerade.
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 = 1
wü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!