输入一个数n,如果n为奇数,那么n=3*n+1,否则n=n/2;最终n会变为1,输出n的变换次数;
代码如下:
#include<stdio.h>
int main()
{
int i=0,n;
scanf("%d",&n);
while(n!=1)
{
if(n%2!=0)
n=3*n+1;
else
n/=2;
i++;
}
printf("%d",i);
return 0;
}
for循环:
#include<stdio.h>
int main()
{
int i,n;
scanf("%d",&n);
for(i=0; n!=1; i++)
{
if(n%2!=0)
n=3*n+1;
else
n/=2;
}
printf("%d",i);
return 0;
}
(因为i不在某个确定区间上,此题,while循环相对好些)