2044-----
#include "stdio.h"
int main()
{ int a,b,n,i;
__int64 s[60]={1,1};
for(i=2;i<=50;i++)
s[i]=s[i-1]+s[i-2];
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
printf("%I64d\n",s[b-a]);
}
return 0;
}
PS:太不容易了,首先要推出是斐波拉契数列(到达i时是到i-1加上i-2的和);然后对数组赋初值时要注意已有数据,s[0]=1,s[1]=1;从二开始用斐波拉契数列。还有对斐波拉契数列定义s[60]要定义64位整型,否则会超范围。“%I64d\n”是对64位整型的输出。