感觉累加没啥问题啊,输入48,测试点是4807526976.00。但是自己跑出来是512559680.00。问题出现在哪
#include <iostream>
using namespace std;
int main()
{
int n;
long f1 = 1;
long f2 = 1;
cin >> n;
if (n == 0)
{
cout << 0<<".00" << endl;
return 0;
}
if (n <= 2 && n >= 1)
{
cout << 1<<".00"<< endl;
return 0;
}
else
{
long long temp = 0;
for (int i = 3; i <= n; i++)
{
temp = f1 + f2;
f1 = f2;
f2 = temp;
}
printf("%lld.00", temp);
}
return 0;
}