猜想:对于任意大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。例如:3》10》5》16》8》4》2》1。
输入n,输出变换的次数
样例输入:
3
样例输出:
7
#include<stdio.h>
main()
{
int n,count=0;
long long x; //longlong -2^63~2^63-1
scanf("%d",&n);
x=n;
while(x!=1)
{
if(x%2==0)
{
x=x/2;
}
else
{
x=3*x+1;
}
count++;
}
printf("%d",count);
}
使用longlong数据类可以避免在int类型中3n+1的越界问题