杭电acm2044

来源:百度知道 编辑:UC知道 时间:2024/05/20 04:11:05
下面是我写的代码,帮忙看看哪有问题啊,提交通不过啊
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n,i,a,b;

while(cin>>n){
while(n){
int c[48]={1,2};
cin>>a>>b;
for(i=2;i<b-a;i++){
c[i]=c[i-1]+c[i-2];
}
cout<<c[b-a-1]<<endl;
n--;
}
}
return 0;
}
那请问下怎么定义一个64位的整数啊

__int64 a;
这样定义
输入要用scanf("%I64d",&a);
输出要用printf("%I64d",a);

这题你可能要用C来写了,因为斐波那契数列增长的比较快,32位整数可能放不下,必须要用64位整数,但cout对64位整数没有重载