Вот код, который я написал для нахождения n-го числа Фибоначчи:
unsigned long long fib(int n)
{
unsigned long long u = 1, v = 1, t;
for(int i=2; i<=n; i++)
{
t = u + v;
u = v;
v = t;
}
return v;
}
Несмотря на то, что алгоритм работает довольно быстро, выходные данные начинают волноваться, когда n> 93. Я думаю / знаю, что это из-за 64-битного размера unsigned long long. Я новичок в C ++, но есть ли способы обойти это, чтобы я мог получить ответ на что-то вроде fib (9999)?
Спасибо