for(int a0 = 0; a0 < t; a0++){
long long int n;
//taking the input limit
cin >> n;
long long int n1=8,n2=34,sum=10;
//iteration till the limit
while(n2<=n)
{
long long int l=n2;
//for finding the next even fibonacci number
n2=4*(n2)+n1;
n1=l;
sum+=n1;
}
cout<<sum<<endl;
}
这是用于查找给定极限 n 的偶数斐波那契数的总和的代码。当我使用 int 代替长整型 int 时,存在超时问题。处理不同的数据类型是否有区别?性能将如何变化?
你不需要做 n2=34。我们可以使用数组来完成这个问题,如下所示:
int a[1001];
memset(a,0,sizeof(a));
while(!EOF){
a[0]=a[1]=1;
cin>>n;
for(int i=2;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
cout<<a[n];
}