标签:
湘大OJ地址:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1142
考拉兹猜想,又称为3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
如n = 6,根据上述数式,得出 6→3→10→5→16→8→4→2→1 。步骤中最高的数是16,共有8个步骤。现在给定任意整数a和b,问对所有a ≤ n ≤ b,一共经过多少步后才能都得到1,其中最高的数是多少。
有多组测试数据。每组测试数据占一行,包含两个正整数1 ≤ a ≤ 1000000和a ≤ b ≤ a + 10。输入以EOF结束。
对每组测试数据,输出步数和最高数,用空格隔开。
6 6
11 12
23 33
8 16
23 52
360 9232
================================天生骄傲的分割线==========================
#include <stdio.h>  
int main()  
{  
    int a,b,i;  
    __int64 count,max,t;  
    while (scanf("%d%d",&a,&b)!=EOF)  
    {  
        count=0;max=a;  
        for (i=a;i<=b;i++)  
        {              
            t=i;  
            while (t!=1)  
            {  
                if (t%2)  
                {  
                    t=t*3+1;  
                }  
                else  
                {  
                    t=t/2;                      
                }  
                if(t>max)  
                    max=t;  
                count++;  
            }  
        }  
        printf("%I64d %I64d\n",count,max);  
    }  
    return 0;  
}  ACM--数学--湘大OJ 1142--Collatz Conjecture
标签:
原文地址:http://blog.csdn.net/qq_26891045/article/details/51339426