hdu 1032 The 3n+1 problem

题目

这道题,搞了一个多小时,感觉不是很难,但是重在理解上,

刚开始,没仔细对题:the maximum cycle length over all numbers between i and j. ,在i,和j之间的所有数中最大的周期循环,理解成了,i和j这两个数中最大的周期循环

第二,题中明明说 all integers n such that 0 < n < 1,000,000,但是n=0居然也可以AC反而用while (~scanf("%d%d",i,j),i,j)却不能AC

郁闷

#include <stdio.h>
int main()
{
int n,m,n1,m1;
int i,max,a,b,t;
while(~scanf("%d%d",&n,&m))
{ 
n1=n;
m1=m;
if(n>m)
{
t=n;
n=m;
m=t;
}
max=0;
for(a=n;a<=m;a++)
{
b=a;
i=0;

while(a!=1)
{
if(a%2==0)
{
a=a/2;
i++;
}
else
{
a=3*a+1;
i++;
}

}
a=b;

if(max<i)
max=i; 
}
printf("%d %d %d
",n1,m1,max+1);
}
return 0;
}


原文地址:https://www.cnblogs.com/qie-wei/p/12094144.html