#include<stdio.h>
int u=0,l=0;
void fun(int i,int k,int m)
{
if(k==1)
{
if(i>u)
{
u=i;
l=m;
printf("%d需要%d步\n",l,i);
}
return;
}
if(k%2==1){
i++;
fun(i,3*k+1,m);
}
if(k%2==0)
{i++;
fun(i++,k/2,m);
}
}
void main()
{
int i;
for(i=1;i<1000000;i++)
fun(0,i,i);
printf("%d\n",l);
getchar();
return;
}
大神复制一下,我算的有问题么?25也是用这个算的啊?
|