0
0
已采纳
0
int n,k;
int main()
{
cin>>n;
while(n!=1)
{
if(n%2==1){k++;n=(n*3+1)/2;}
if(n%2==0){k++;n=n/2;}
}
cout<<k<<endl;
return 0;
}
0
0
0
其实很简单啊,和千变万化总是“1”稍微有点像
while(n!=1)
{
if(n%2==0) n/=2;
else n=(n*3+1)/2;
count++;
}
核心代码,具体思路参考千变万化总是“1”微课讲解
0
#include<iostream>
using namespace std;
int n,cnt=0;
int main(){
cin>>n;
while(n!=1){
cnt++;
if(n%2==0){
n/=2;
}else n=(n*3+1)/2;
}
cout<<cnt<<endl;
return 0;
}
0
