zoukankan      html  css  js  c++  java
  • poj-1207 THE 3n+1 problem

    Description

    Problems in Computer Science are often classified as belonging to a certain class of problems (e.g., NP, Unsolvable, Recursive). In this problem you will be analyzing a property of an algorithm whose classification is not known for all possible inputs.
    Consider the following algorithm:


    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

    Given the input 22, the following sequence of numbers will be printed 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

    It is conjectured that the algorithm above will terminate (when a 1 is printed) for any integral input value. Despite the simplicity of the algorithm, it is unknown whether this conjecture is true. It has been verified, however, for all integers n such that 0 < n < 1,000,000 (and, in fact, for many more numbers than this.)

    Given an input n, it is possible to determine the number of numbers printed before the 1 is printed. For a given n this is called the cycle-length of n. In the example above, the cycle length of 22 is 16.

    For any two numbers i and j you are to determine the maximum cycle length over all numbers between i and j. (是i和j之间数的循环次数最大的)

    #include<iostream>
    using namespace std;
    int  bb(int i)
    {     int count=1;
    while(i!=1)
    {
            if(i%2==0)i/=2;
            else i=i*3+1;
            count ++;
    
    
    }
    
    return count;
    
    }
    int main()
    {
    
    int a,b;
    int q=0;
    while(cin>>a>>b)
    {
    q++;
    if(q>=10000)break;
    int d=a>b?a:b;
    int c=a<b?a:b;
    int maxa=0;
    for(int j=c;j<=d;j++)
    {
    int  a1=bb(j);
    if(maxa<a1)maxa=a1;
    }
    cout<<a<<" "<<b<<" "<<maxa<<endl;
    
    
    }
    
    return 0;
    }
    
  • 相关阅读:
    框架:Java-Spring Cloud
    DB-数据库:百科
    公司-风险投资公司-软银银行集团:百科
    百科-Java-API:POI
    组织:基金会
    un-解决方案-MSP(管理服务提供商):百科
    汉语-词语:金融
    DBS-MySQL:MYSQL获取自增ID的四种方法
    linux框架之ibus
    jQuery+CSS 简单代码实现遮罩层( 兼容主流浏览器 )
  • 原文地址:https://www.cnblogs.com/jin-nuo/p/5384986.html
Copyright © 2011-2022 走看看