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 になると出力が狂い始めます。unsigned long long の 64 ビットサイズが原因だと思います/知っています。私はC ++を初めて使用しますが、これを回避してfib(9999)のような答えを得る方法はありますか?
ありがとう