@IfNoFalseTrue, se sevi dare consigli, ALMENO consiglia giusto!
Questa e' la sequenza di Fibonacci GENERALIZZATA, con indici POSITIVI e NEGATIVI:
-55, 34, -21, 13, -8, 5, -3, 2, -1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
NON E' una buona cosa far si che una funzione ritorni oggetti di tipo diverso. E' meglio che ritorni sempre oggetti dello stesso tipo, altrimenti bisogna fare dei test specifici sul tipo del valore di ritorno, complicando inutilmente le rimanenti parti del codice.
<0 -> []
0 -> [0] OPPURE [] ma lo si deve dire
1 -> [1]
2 -> [1,1]
3 -> [1,1,2]
...