第一道题居然就卡了这么久惭愧惭愧。
过程中出现这么几个问题。
1.关于最终和的数据类型要选择long。
2.循环中途max要初始化为0;
贴出代码。
#include<stdio.h>
int main()
{
long xl(long m) ;
long i,j,k,l;
long max=0;
long c;
while(~scanf("%ld%ld",&i,&j))
{
max=0;
if(i<j)
{
k=i;
l=j;
}
else
{
k=j;
l=i;
}
for(;k<=l;k++)
{
c=xl(k);
max=c>max?c:max;
// if(c>max)
// max=c;
}
printf("%ld %ld %ld\n",i,j,max);
}
return 0;
}
long xl(long m)
{
long n=1;
while(m>1)
{
if(m%2==1)
m=m*3+1;
else
m=m/2;
n++;
}
return n;
}