用时25分钟,一开始函数的返回值定义成了int,但应该定义成longlong。
#include<iostream>
using namespace std;
long long f(int m)
{
long long b1=1,b2=1,lsbl=0;
for(int i=2;i<m;i++)
{
lsbl=b1;
b1=b2;
b2=lsbl+b2;
}
return b2;
}
int main()
{
// freopen("xxx.in","r",stdin);
// freopen("yyy.out","w",stdout);
int n,a,he=0,b1=1,b2=1,he2;
cin >> n;
for(int i=0;i<n;i++)
{
cin >> a;
if(a==0)
{
cout << "Fib(" << a << ") = 0" << '\n';
}
else
{
cout << "Fib(" << a << ") = " << f(a) << '\n';
}
}
// fclose(stdin);
// fclose(stdout);
return 0;
}