zoukankan      html  css  js  c++  java
  • HDU1032_The 3n+1_数学题

    题目大意: 按照这种规则来编程。然后中途算出的数的个数成为一个cycle-length ,求出i与j之间的最大cycle-length.i与j<1000000. 1.      input n 2.      print n 3.      if n = 1 then STOP 4.           if n is odd then   n <- 3n + 1 5.           else   n <- n / 2 6.      GOTO 2 解题思路: 一开始想的就是一般的写法肯定是超时,本来直接敲是想找出规律来,没想到,真的就是暴力,不超时。。。有一些cycle_len可以达到几百,也就是说运算次数有可能达到1亿,这样都不超?好吧,我都无语了。。。 吐吐槽: 注意是求出i与j之间的,并没有说明i小于j,而且输出说输出的i,j顺序要跟输入一样。 代码:
    #include
    #include
    #include
    #include
    using namespace std;
    
    int f(int a, int sum, vector &vec)
    {
        sum++;
        vec.push_back(a);
        if(a == 1)
        {
            /*cout << vec.size() << ": ";
            sort(vec.begin(), vec.end());
            for(int i = 0; i < vec.size(); i++)
            	cout << vec[i] << " ";
            cout << endl;*/
            return sum;
        }
        else
        {
            if(a % 2)
            {
                f(3 * a + 1, sum, vec);
            }
            else
                f(a / 2, sum, vec);
        }
    }
    
    int main(void)
    {
        int s, e;
        while(scanf("%d %d", &s, &e) == 2)
        {
            bool flag = false;
            if(s > e)
            {
                s = s ^ e;
                e = s ^ e;
                s = s ^ e;
                flag = true;
            }
            int max = 0;
            for(int i = s; i <= e; i++)
            {
                vector vec;
                int temp = f(i, 0, vec);
                if(temp > max)
                {
                    max = temp;
                }
                //cout << endl;
            }
            if(flag)
                printf("%d %d %d\n", e, s, max);
            else
                printf("%d %d %d\n", s, e, max);
        }
        return 0;
    }
    
  • 相关阅读:
    防止表单重复提交
    tp5中的配置机制
    PHP remove,empty和detach区别
    jquery data方法
    webstrom使用记录
    input checkbox问题和li里面包含checkbox
    【转】HTML中A标签与click事件的前世今生
    jquery toggle方法
    webstore+nodejs
    web storm使用和配置
  • 原文地址:https://www.cnblogs.com/cchun/p/2520223.html
Copyright © 2011-2022 走看看