应为当n为奇数的时候那么3n+1一定是偶数可以直接在之后除以2
这样可以一定程度上防止乘法溢出;
而且可以将n换成double型的
#include <stdio.h>
int main(){
int n,count=0;
scanf("%d",&n);
while(n>1){
if(n%2==1){
n=(3*n+1)/2;
count+=2;
}else{
n/=2;
count++;
}
}
printf("%d\n",count);
return 0;
}