q1095

一,写题

1,我这个递归的错误我挺想搞出来的

int fa(int x)
{
    if(x==1) return cnt;
    if(x%2==0)
    {
        x=x/2;
        cout<<"测试1:"<<x<<endl;
        cnt++;
        if(x==1)
           {
               cout<<"测试3:"<<cnt<<endl;
             return cnt;
             }
             
        else
           fa(x);
    }
    if(x%2!=0)
    {
        x=x*3+1;
        cout<<"测试2:"<<x<<endl;
        cnt++;
        if(x==1)
            {
            return cnt;
        }
        else
           fa(x);
    }
    
}

2,希望你能搞出来。

因为你用自己方法不会的时候你再搞出来好像才是关键。

3,体现的好像是我对递归的不够。。掌握。。

4,我他妈好难受。。。想哭。。

5,希望你能好好把这个弄清楚。

 1  1 #include<iostream>
 2  2 using namespace std;
 3  3 int a,b;
 4  4 int cnt=1;
 5  5 int big=1;
 6  6 void  fa(int x)
 7  7 {
 8  8     if(x==1) return ;
 9  9     
10 10     if(x%2==0)
11 11     {
12 12         x=x/2;
13 13         cnt++;
14 14         return fa(x);
15 15     }
16 16     if(x%2!=0)
17 17     {
18 18         x=x*3+1;
19 19         cnt++;
20 20         return fa(x);
21 21     }
22 22 }
23 23 int main(){
24 24     int p,t;
25 25     
26 26     while(cin>>a>>b)
27 27     {
28 28         if(a>b)
29 29         {
30 30         t=a;
31 31         p=b;
32 32         }
33 33         else
34 34         {
35 35             p=a;
36 36             t=b;
37 37         }
38 38         big=1;
39 39         for(int j=p;j<=t;j++)
40 40         {
41 41             cnt=1;
42 42             fa(j);
43 43             if(cnt>=big)
44 44                big=cnt; 
45 45          } 
46 46          cout<<a<<" "<<b<<" "<<big<<endl;
47 47     }
48 48     return 0;
49 49 }

二,总结

1,首先对待每道有价值的题目,第一次OJ过去了,然后进行总结,总结主要是自己缺乏什么。

2,然后思考全面后再来一遍。

3,复习就是做题,当然也可以。。你得找些特殊的方法去解决它。

4,我对于递归的理解。

5,对于这种没有给你说清楚几组数据的题你该怎么做。

while(cin>>x>>y)
{}

哈哈挺有意思的。

6,数据里面的坑,所以对待题目,你自己要给自己找坑。

比如有的数据i>j。

我也是呵呵呵了。

7,最后那个big的更新,倒是弄了我挺久的。

这个些都算些什么?

8,不管怎么样,复习后好好思考一遍就上吧。

四,

1,妈的果然不行了。

 1 if(!x%2) 2 if(x%2) 

2,这个不行的。

3,我哭了

 1 if(a>b)
 2         {
 3         t=a;
 4         p=b;
 5         }
 6         else
 7         {
 8             p=a;
 9             t=b;
10         }

没有else  ,我错了!

原文地址:https://www.cnblogs.com/beiyueya/p/12076983.html