PAT初级1001(3n+1)猜想 (C++)
思路:
此题没什么难度,采用循环、递归或栈(前两者的底层实现)即可
代码:
# include <iostream>
using namespace std;
int main()
{
int n,k=0;
cin>>n;
while(n!=1)
{
if(n%2==0)
{
n = n/2;
}
else
{
n = (3*n+1)/2;
}
k++;
}
cout<<k<<'\n';
return 0;
}