角谷猜想
Description
所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到 1。如,假定初始整数为 5,计算过程分别为 16、8、4、2、1。
程序要求输入一个整数,将经过处理得到 1 的过程输出来。
Input
一个正整数。
Output
从输入整数到 1 的步骤,每一步为一行,每一部中描述计算过程,假定输入为 7,则输出为: • 73+1=22 • 22/2=11 • 113+1=34 • 34/2=17 • 173+1=52 • 52/2=26 • 26/2=13 • 133+1=40 • 40/2=20 • 20/2=10 • 10/2=5 • 5*3+1=16 • 16/2=8 • 8/2=4 • 4/2=2 • 2/2=1 • 最后一行输出”End”,如果输入为 1,直接输出”End”。
Sample Input 1
5
Sample Output 1
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End
Source
none
代码如下:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
if (a ==1);
while(a !=1)
{
if (a%2 == 1)
{
b = a*3+1;
printf ("%d*3+1=%d\n",a,b);
a = b;
}
if (a%2 != 1)
{
b = a/2;
printf ("%d/2=%d\n",a,b);
a = b;
}
if (a ==1)
break;
}
printf ("End\n");
return 0;
}