#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i=0;
scanf("%d",&n);
while(n!=1)
{
if(n%2==0)
{
n=n/2;
i+=1;
}
if(n==1)
break;
if(n%2==1)
{
n=(3*n+1);
i+=1;
}
}
printf("%d\n",i);
return 0;
}
猜想:对于任意大于1的自然数n,若n为奇数,则将n变成3n+1,否则变成n的一半。经过若干次这样的变换,一定会使n变为1。例如3->10->5->16->8->4->2->1。
最新推荐文章于 2023-12-03 16:38:39 发布