所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个整数,将经过处理得到1的过程输出来。
#include<stdio.h>
#include<string.h>
int aa(int a);
//角谷猜想
int main()
{
int n;
scanf("%d",&n);
aa(n);//调用函数
return 0;
}
int aa(int a)
{
int temp=0;
if(a==1)
{
printf("End\n");
return 0;
}
if(a%2==1)
{
temp=a;
a=a*3+1;
printf("%d*3+1=%d\n",temp,a);
return aa(a);
}
if(a%2==0)
{
temp=a;
a=a/2;
printf("%d/2=%d\n",temp,a);
return aa(a);
}
}