小编Ans*_*ava的帖子

如何找到公式计算出的很大数字的最后一位?

我有一个斐波那契问题,我想计算第n个斐波那契,并想要它的最后一位数字(我将在%10时获得的数字)。n将被给出,并且可以高达10 ^ 18。

unsigned long long int nthfib(long long int n) { 
    double phi = (1 + sqrt(5)) / 2; 
    return round(pow(phi, n-1) / sqrt(5));
}
Run Code Online (Sandbox Code Playgroud)

上面的代码,对于大n,例如1024,给出了很大的数字,我无法将其存储在变量中并找到其%10。

由于时间是一个问题,我需要O(1)中的解决方案。

c++ fibonacci

0
推荐指数
1
解决办法
151
查看次数

标签 统计

c++ ×1

fibonacci ×1