#include<stdio.h>
int judge(int n);
main()
{
int a,cnt;
scanf("%d",&a);
cnt=judge(a);
printf("%d",cnt);
}
int judge(int n)
{
int cnt=0;
if(n<=1)return 0;
while(n!=1)
{
if(n%2==0)
{
n/=2; cnt++;
}else{
n=(3*n+1)/2;cnt++;
}
}
return cnt;
}
int judge(int n);
main()
{
int a,cnt;
scanf("%d",&a);
cnt=judge(a);
printf("%d",cnt);
}
int judge(int n)
{
int cnt=0;
if(n<=1)return 0;
while(n!=1)
{
if(n%2==0)
{
n/=2; cnt++;
}else{
n=(3*n+1)/2;cnt++;
}
}
return cnt;
}
另外,板神用递归的方法解决了这道题