出现Time Limit Exceed 求解 对于任意大于1的自然数n,如果n为奇数,则n=3n+1,否则n=n/2,则经过若干步骤后n一定会变成1
猜想:对于任意大于1的自然数n,如果n为奇数,则n=3n+1,否则n=n/2,则经过若干步骤后n一定会变成1; 如:3->10->5->16->8->4->2->1
共7步,
输入n,
输出变换次数
Input
输入n,
n<=1000000000
Output
变换次数
Sample Input
3
Sample Output
7
****************************
#include<stdio.h>
int main()
{
int n=3;
scanf("%d",&n);
int i = 0;
while(n != 1)
{
if(n % 2 )
n = n * 3 + 1;
else
n /= 2;
i ++;
}
printf("%d\n",i);
return 0;
}
求大神们 给个解释 哪里需要改进下!!!