Вы, наверное, все знаете последовательность Фибоначчи:
fibonacci(n)=fibonacci(n-1)+fibonacci(n-2)
fibonacci(0)=0
fibonacci(1)=1
Ваша задача настолько проста, насколько это возможно:
- Дано целочисленное
N
вычислениеfibonacci(n)
но вот поворот:
- Также сделайте отрицательный
N
Подождите. Какая?
fibonacci(1)=fibonacci(0)+fibonacci(-1)
так
fibonacci(-1)=1
а также
fibonacci(-2)=fibonacci(0)-fibonacci(1)=-1
и так далее...
- Это код-гольф, поэтому выигрывают самые короткие программы в байтах.
- Вы можете отправить функцию или полную программу
- N находится в [-100,100]
Тестовые примеры в 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
Подсказка:
n <0 и n & 1 == 0:
fibonacci(n)=fibonacci(abs(n))*-1