计蒜客 - T1070 - 角谷猜想

计蒜客 - T1070 - 角谷猜想


题目

蒜头君:所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3加 1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为 16、8、4、2、1。程序要求输入一个整数,将经过处理得到 1的过程输出来。

输入格式

一个正整数 N(N≤2,000,000)

输出格式

从输入整数到 1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为 1,直接输出"End"。
数据保证中途计算不会超过int范围。

Sample Input

5

Sample Output

5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End

题意

奇数:*3+1
偶数:/2

思路

判断奇偶 模拟计算过程即可

坑点

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	//printf("%d",n);
	while(n!=1){
		if(n%2==0)
		{
			printf("%d/2=%d\n",n,n/2);
			n=n/2;
		}else{
			printf("%d*3+1=%d\n",n,n*3+1);
			n=n*3+1;
		}	
		if(n==1)
		{
			printf("End");
		}
	}
	return 0;
 } 
posted @ 2020-12-29 17:22  Joker-Li  阅读(143)  评论(0)    收藏  举报