Sfida:
Dato un input intero positivo n , creare un vettore che segue questo modello:
0 1 0 -1 -2 -1 0 1 2 3 2 1 0 -1 -2 -3 -4 -3 -2 -1 ... ±(n-1) ±n
Oppure, spiegato con le parole: il vettore inizia da 0
e fa incrementi di 1
fino a raggiungere il numero intero dispari positivo più piccolo che non fa parte della sequenza, quindi diminuisce fino a raggiungere il numero intero negativo (anche in magnitudine) più piccolo che non è fa parte della sequenza. Continua così fino a quando non n
viene raggiunto. La sequenza finirà in positivo n
se n
è dispari e in negativo n
se n
è pari.
Il formato di output è flessibile.
Casi test:
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
Puoi scegliere di prendere n indicizzato zero. n = 1
darebbe quindi 0 1 0 -1 -2
.
Questo è code-golf , quindi vince il codice più corto in ogni lingua! Le spiegazioni sono incoraggiate come sempre!