1404我家的门牌号

题目连接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1404

第一次看题太简单,2分钟写如下代码

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     long n,x,w;
 6     cin>>n;
 7     for(int x=1;x<100000;x++)
 8     for(int w=1;w<100000;w++)
 9     {
10         if((x*x+x-6*w)==2*n)
11         {
12         cout<<w<<" "<<x<<endl;
13         return 0;    
14         }
15     }
16     
17     return 0;
18 }

哦奥,结果悲剧了,不好意思老司机也有翻车的时候:

第二天又该代码如下:

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     int s,n,i;
 7     cin>>n;
 8     for(i=1;;i++)
 9     {
10         s=i*(i+1)/2;
11         s-=n;
12         if(s%3==0&&s>=0) break;
13     }
14     cout<<s/3<<" "<<i<<endl;
15     return 0; 
16 }

总结:当题看起来越简单,越要慎重,特别是要分析一下复杂度内存占用等。江湖险恶,谨慎第一。。。

原文地址:https://www.cnblogs.com/tflsnoi/p/8007246.html