输入一个自然数,若为偶数,则将其除以2;若为奇数,则将其乘以3加1.如此经过有限次运算后,总可以得到自然数值1.求经过多少次可得到自然数值1?
#include<iostream>
using namespace std;
int fun(int n)
{
if(n==1)
{
return 0;
}
else
{
if(n%2==0)
{
return fun(n/2)+1;
}
if(n%2==1)
{
return fun(3*n+1)+1;
}
}
}
int main()
{
int n;
cin>>n;
cout<<fun(n)<<endl;
}
2372

被折叠的 条评论
为什么被折叠?



