long long unsigned fib(unsigned n) {
if (n < 2) { return n; }
return fib(n - 1) + fib(n - 2);
}
Нерекурсивная: long long unsigned fib(unsigned n) {
long long unsigned t[]{0, 1};
for (unsigned i = 2; i <= n; ++i) {
t[i & 1] = t[0] + t[1];
}
return t[n & 1];
}
Существует несколько вариантов чисел Фибоначчи, отличающихся начальным значением (0 или 1) и начальным индексом (0 или 1).
Функции вычисления n-го члена ряда Фибонначчи