这是我为寻找第n个Fibonacci数而编写的代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
虽然算法运行得非常快,但当n> 93时,输出开始变得惊慌失措.我认为/知道这是因为unsigned long long的64位大小.我是C++的新手,但有办法解决这个问题,所以我可以得到像fib(9999)这样的答案吗?
谢谢
Blu*_*eft 14
GMP是一个免费的库,用于任意精度算术,对有符号整数,有理数和浮点数进行操作.精度没有实际限制,除了机器GMP中可用内存所暗示的那些限制.GMP具有丰富的功能,并且功能具有常规接口.
GMP的主要目标应用是加密应用和研究,互联网安全应用,代数系统,计算代数研究等......