全部评论 2

  • 测试点7    TLE 测试点为   2    输出应为 1
    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    int a,s=1;
    int f(long long x,long long y)
    {
    	long long z=x+y;
    	if(s==a-2) return z;
    	s++;
    	return f(y,z);
    }
    int main()
    {
    	cin>>a;
    	cout<<f(1,1);
    }
    我把作者的代码测试了测试点7输出的是2147483647    int最大值
    
    

    2024-08-19 来自 广东

    0
    • 嗯,所以为什么会崩溃呢

      2024-08-19 来自 广东

      0
    • 因为程序把1和2的数据也测出来了,所以因把

      int f(long long x)....
      {
          需判断是否为1,2

      2024-08-19 来自 广东

      0
    • 正确代码应为:

      #include <iostream>
      #include <vector>
      #include <algorithm>
      using namespace std;
      int a,s=1;
      int f(long long x,long long y)
      {
      	long long z=x+y;
      	if(s==a-2) return z;
      	s++;
      	return f(y,z);
      }
      int main(){
      	cin>>a;
          if(a==2){
              cout<<1;
              return 0;
          }
      	cout<<f(1,1);
      }
      
      

      2024-08-19 来自 广东

      0
  • 得耐心等AC狗说完

    2024-08-19 来自 广东

    0
首页