求大佬ORZ

P3938 斐波那契

```cpp #include<cstdio> #include<iostream> using namespace std; const int MAXN=61; int long long s[MAXN]={0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657, ``` 46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169, 63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903,2971215073,4807526976,7778742049, 12586269025,20365011074,32951280099,53316291173,86267571272,139583862445,225851433717,365435296162,591286729879, ```cpp 956722026041,1548008755920,}; int n,a,b,f1,f2; int main(){ cin>>n; for(int k=1;k<=n;k++){ cin>>a>>b; for(int i=1;i<=MAXN;i++){ if(a>s[i] && a<=s[i+1]){ f1=i; } if(b>s[i] && b<=s[i+1]){ f2=i; } } while(a!=b){ if(a>b){ a-=s[f1]; while(a<=s[f1]){ f1--; } } else{ b-=s[f2]; while(b<=s[f2]){ f2--; } } } cout<<a<<endl; } return 0; } ```
by 蒟蒻归来啦 @ 2017-11-02 13:51:41


![](http://i1.bvimg.com/616469/3a962069588160ed.jpg) 你按着这个思路改一下试试
by AVALON_7 @ 2017-11-02 14:10:45


fa(20)->7,打错了
by AVALON_7 @ 2017-11-02 14:11:27


谢谢dalao
by 蒟蒻归来啦 @ 2017-11-02 15:41:07


mmp,数组开小了,62都过了
by 蒟蒻归来啦 @ 2017-11-02 17:32:56


|