2742: 【例35.2】 角谷猜想

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:50 解决:35

题目描述

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

输入

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

输出

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

样例输入 复制

5

样例输出 复制

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

提示


#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    cin>>n;
    for(;n>1;) {
    	if(n%2==0) {
    		cout<<n<<"/2="<<n/2<<endl;
    		n/=2;
		}
		else {
			cout<<n<<"*3+1="<<n*3+1<<endl;
			n*=3;
			n++;
		}
	}
	cout<<"End";
	return 0;
}