UVA上的简单3n+1问题想不通
原题在http://uva.有个牛人翻译并做出了C++ http://
我做了几次都过不了
请大家指教
#include<stdio.h>
int f(int a)
{ int i=1;
while(a!=1)
{
if(a%2==0)
a=a/2;
else
a=3*a+1;
i++;
}
return i;
}
//f函数判断周期长度
main()
{
int a,b,max,i,t;
while(scanf("%d%d",&a,&b)==2)
{
if(a>b) {t=a;a=b;b=t;} //防止耍赖
max=f(a);//初始一个最大长度
for(i=a;i<=b;i++)//从a到b循环算出每个数的周期长度
max=max>f(i)?max:f(i);//打擂
printf("%d %d %d\n",a,b,max);
}
return 0;
}