对于任意大于1的自然数n,若n为奇数,则变为3n+1,否则变为n的一半,经过若干次变换,一定会使n变为1。
输入:一个自然数n,
输出:变为1需要的次数.
样例输入:3;
样例输出:7.
PS:注意不要溢出;
#include <iostream>
using namespace std;
int main()
{
double n;
int count=0;
cin>>n;
while(n>1)
{
if((int)n%2!=0)//double不能进行取余运算,所以需要强制类型转换;
{
n=n*3+1;
}
else
{
n=n/2;
}
count++;
}
cout<<count<<endl;
return 0;
}