【问题描述】3n+1问题。猜想:对于任意一个大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。例如3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1。输入n,输出变换的次数。
【输入形式】
【输出形式】
【样例输入】
3
【样例输出】
7
#include<stdio.h>
int main()
{
int n,m=0;
scanf("%d",&n);
while(n>1)
{
if(n%2==0)
{
n=n/2;
}
else if(n%2!=0)
{
n=3*n+1;
}
m++;
}
printf("%d",m);
return 0;
}
1210

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



