只有最后一个测试点数据差距很大,求解?
查看原帖
只有最后一个测试点数据差距很大,求解?
919699
Utopia_H楼主2023/3/8 18:29

感觉累加没啥问题啊,输入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;
}

2023/3/8 18:29
加载中...