水题,按题意走就行
#include <stdio.h>
int main(int argc, char *argv[])
{
long n,count,a,b,max,i,temp,flag;
while(scanf("%ld%ld",&a,&b)!=EOF)
{
flag=0;
if (a>b) //易错点,题目并没规定a,b大小
{
flag=1;
n=a;
a=b;
b=n;
}
max=0;
for (i=a;i<=b;i++)
{
count=1;
temp=i;
while(temp!=1)
{
if (temp%2==0)
{
temp/=2;
}
else
{
temp=temp*3+1;
}
count++;//无论奇偶count都需要加加,放外面
}
if (max<count) max=count;
}
if(flag) printf("%ld %ld %ld\n",b,a,max); //若a>b 则打印的时候会相反
else printf("%ld %ld %ld\n",a,b,max);
}
return 0;
}