```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