第一次在UVa上提交题,WA了几次,囧,全是英文,啊。因为木有考虑a和b的大小问题,还有输出a和b的顺序。( ̄ε(# ̄)
题目大意:例子的意思是,输入一个数,如果这个数是奇数,则执行n=3*n+1,否则n=n/2,直到n=1,计算这个数一直到1一共计算了几步,即为sum;
输入a,b两个数,输出 a至b之间所有sum的最大值max。
# include <stdio.h>
int main()
{
int a,b,a_back,b_back,i,t,n,sum,max;
while(scanf("%d %d",&a,&b)!=EOF)
{
max=0;
a_back=a;
b_back=b;
if(a>b)
{
a_back=b;
b_back=a;
}
for(i=a_back;i<=b_back;i++)
{
sum=1;
n=i;
while(n>1)
{
if(n%2==0)
{
n=n/2;
}
else
{
n=3*n+1;
}
sum++;
}
if(max<sum)
{
t=max;
max=sum;
sum=t;
}
}
printf("%d %d %d\n",a,b,max);
}
return 0;
}