这道题和2041一样都是呀使用动态规划,地推来做,不过要注意的是,数组要设置很大的值才可以,这个是最终要的
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n,a,b;
_int64 step[50]={0};
memset(step,0,sizeof(step));
step[1]=1;
for(i=1;i<50;i++)
{
if(i+1<50)
step[i+1]+=step[i];
if (i+2<50)
step[i+2]+=step[i];
}
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
printf("%I64d\n",step[b-a+1]);
}
return 0;
}