zoukankan      html  css  js  c++  java
  • hdu 1032

     题目的意思是把输入的i,j 从i到j的每一个数 做循环,输出循环次数最大的值

    易错的地方:做循环是容易直接用i进行计算 i=i/2;或i=i*3+1; 这样i的值改变就不能在做下面数的循环

    #include<iostream>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int main()
    {
      int i,j,t,max,cnt,n,a;
      while(cin>>i>>j)
      {
        cout<<i<<' '<<j<<' ';
        max=-100;
        if(i>j)
        {
          t=j;
          j=i;
          i=t;
        }
        for(a=i;a<=j;a++)
        {
          n=a; //注意
          cnt=1;
          while(n-1)
          {
            if(n%2==0)
              n=n/2;
            else
              n=3*n+1;
            cnt++;
    
          }
          if(cnt>max)
            max=cnt;
        }
        cout<<max<<endl;
      }
      
      return 0;
    }
    
  • 相关阅读:
    springboot模板
    springboot入门
    java自定义注解
    git集成idea
    git的搭建和使用
    Shiro授权
    shiro认证
    shiro入门
    springmvc文件上传
    springmvc入门
  • 原文地址:https://www.cnblogs.com/zxff/p/5910357.html
Copyright © 2011-2022 走看看