#include <iostream>
using namespace std;
void main()
{
_int64 ch[51];
int i;
cin>>i;
while(i--)
{
int m,n;
cin>>m>>n;
ch[m+1]=1;
ch[m+2]=2;
for(int i=m+3;i<=n;i++)
{
ch[i]=ch[i-1]+ch[i-2];
}
//cout<<ch[n]<<endl;
printf("%I64d\n", ch[n]);
}
}
这道题弄了好久,主要是有效位不够,long int都不行,用double不知道怎么也不行。无奈只有看别人的代码,发现用的都是c语言的printf,没办法,我只能试着用,运行一下发现可以,就提交ac了。但是不明白为什么c++中可以用c语言的printf,而且为什么用double不行。