裸题。比较猥琐吧。注意变量的可以交换位置,学到了c++中int可以到32位二进制。
/*Written By Henry.Witt.Joker*/
/*21/05/2012 15:34*/
/*Verdict: Accepted */
#include<iostream>
#include<stdio.h>
#define INF 9999999
using namespace std;
int work(int x)
{
int num=x,count=1;
while (num!=1)
{
if (num%2==1)
{
num=3*num+1;
count++;
continue;
}
else
{
num=num/2;
count++;
continue;
}
}
return count;
}
int main()
{
int a,b,i,p,q;
while(scanf("%d%d",&a,&b)!=EOF)
{
int tmp,maxx=-INF;
p=a;q=b;
if (a>b)
{
tmp=a;
a=b;
b=tmp;
}
for (i=a;i<=b;++i)
{
tmp=work(i);
if (tmp>maxx) maxx=tmp;
}
printf("%d %d %d\n",p,q,maxx);
}
return 0;
}