poj1207(3n+1)

题意: 3n+1问题,如果i为奇数,则执行i=i*3+1; 否则i/=2; 开始的时候根本就没想到这个题会卡住。错了n遍后,终于鼓起勇气百度了一下,才知道,需要考虑n,m的大小。

<pre name="code" class="html">#include<iostream> 
using namespace std;
int main() 
{  
    int m, n, i, cnt, t; 
    int max; 
    while(cin>>n>>m) 
    { 
        cout<<n<<" "<<m<<" "; 
        if(n>m){
           t = n; n = m; m = t; 
        }
        max = -1; 
      for(i=n; i<=m; i++) 
      {
         cnt = 1; t = i;
        while(t-1)
        {
             cnt++; 
             if(t%2) t = 3*t+1; 
             else t = t/2;
        } 
              if(max<cnt) 
                   max = cnt; 
    }
    cout<<max<<endl; }
   return 0; 
}








评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值