Probabilmente tutti conoscete la sequenza dei fibonacci:
fibonacci(n)=fibonacci(n-1)+fibonacci(n-2)
fibonacci(0)=0
fibonacci(1)=1
Il tuo compito è semplice come potrebbe essere:
- Dato
N
calcolo interofibonacci(n)
ma ecco il colpo di scena:
- Anche fare negativo
N
Aspettare. Che cosa?
fibonacci(1)=fibonacci(0)+fibonacci(-1)
così
fibonacci(-1)=1
e
fibonacci(-2)=fibonacci(0)-fibonacci(1)=-1
e così via...
- Questo è un codice-golf, quindi il programma più breve in byte vince.
- È possibile inviare una funzione o un programma completo
- N è in [-100.100]
Testcase in CSV:
-9;-8;-7;-6;-5;-4;-3;-2;-1;0;1;2;3;4;5;6;7;8
34;-21;13;-8;5;-3;2;-1;1;0;1;1;2;3;5;8;13;21
Suggerimento:
n <0 e n & 1 == 0:
fibonacci(n)=fibonacci(abs(n))*-1