这是一道模拟题,大致题意就:是偶数除以2,奇数(3n+1)除以2,到1结束
代码如下:
#include<iostream> using namespace std; int cnt=0; void cal(int n) { if(n==1) { cout<<cnt<<endl; } else if(n%2==1) { n=3*n+1; n=n/2; cnt++; cal(n); } else if(n%2==0) { n=n/2; cnt++; cal(n); } } int main() { int n; while(cin>>n) { cnt=0; cal(n); } return 0; }