日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
输入格式:
输入一个自然数n
输出格式:
输出每次运算步骤,直到结果为1.
输入样例1:
5
结尾无空行
输出样例1:
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
结尾无空行
输入样例2:
6
结尾无空行
输出样例1:
6/2=3
3*3+1=10
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
结尾无空行
我的答案:
#include<stdio.h>
int main()
{
int n,i=0;
scanf("%d",&n);
for(;;)
{
i++;
if(n%2==0)
{
printf("%d/2=%d\n",n,n/2);
n=n/2;
}
else
{
printf("%d*3+1=%d\n",n,3*n+1);
n=3*n+1;
}
if(n==1)
{
break;
}
}
return 0;
}
ps:for(;;)就是无限循环