标签:
湘大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