角谷猜想(C语言代码)
任给一个大于0的正整数N,按照如下规则对其计算:如果N为偶数,则将其除以2,如果N为奇数,则将其乘以三3再加1,将得到的新数字不断重复上述变换规则,若干次后一定可以得到1.请编写程序,输入一个大于0的正整数N,输出该数经过多少次角谷变换达到1.
代码如下:
#include<stdio.h>
int main()
{
int num,count=0; //num为输入的N,count为次数
printf("请输入数字N");
scanf("%d",&num);
do
{
if(num==1)
{
printf("经过一次变为1");
}
else if(num%2==0)
{
num=num/2;
}
else
{
num=num*3+1;
}
count++;
}while(num!=1);
printf("经过%d次变为1",count);
return 0;
}