老师教的题目理解:
代码:
#include <bits/stdc++.h>
using namespace std;
int T,x,f[101010];
int main()
{
f[1]=1;
f[2]=1;
for(int i=3;i<=100005;i++)
{
f[i]=f[i-1]+f[i-2];
}
cin>>T;
while(T--)
{
cin>>x;
for(int i=2;;i++)
{
if(i==2)
{
cout<<i<<' '<<x<<endl;
}
else
{
int j=x-f[i-2];
if(j<0)
{
break;
}
if(j%f[i-1]==0)
{
if(j/f[i-1]==0)
{
break;
}
cout<<i<<' '<<j/f[i-1]<<endl;
}
}
}
}
return 0;
}