我用的递归
#include<bits/stdc++.h> using namespace std; int n,cnt; void f(int n){ if(n==1){ return; } if(n%2==1){ cnt++; return f(n*3+1); }else{ cnt++; return f(n/2); } } int main(){ scanf("%d",&n); f(n); printf("%d",cnt); return 0; }