HOJ 1032
//输出i和j中的最大循环长度
//注意细节:i和j的大小不确定
#include <stdio.h>
int main()
{
int i,j;
while(scanf("%d%d",&i,&j)!=EOF)
{
bool isswap = false;
if(i>j)
{
int temp=i;
i=j;
j=temp;
isswap=true;
}
int maxtimes=0;
int maxdata=0;
for(int p=i;p<j+1;p++)
{
int times=1;
int data=p;
while(data!=1)
{
if(data%2==1)
{
data=3*data+1;
}
else
{
data=data/2;
}
times++;
}
if(times>maxtimes)
{
maxtimes=times;
maxdata=data;
}
}
//输出时也要注意i和j的大小
if(isswap)
printf("%d %d %d\n",j,i,maxtimes);
else
printf("%d %d %d\n",i,j,maxtimes);
}
return 0;
}