角谷猜想(c++题解)

题目描述

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

程序要求输入一个整数,将经过处理得到1的过程输出来。

输入格式

一个正整数N(N <= 2,000,000)

输出格式

从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。

样例

样例输入
复制代码
复制5
样例输入2:
1
样例输出
复制代码
复制5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End
样例输出2:
End

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin>>a;
    for(int i=1;;i++){
    	if(a==1){
    		cout<<"End";
    		break;
        }
    	if(a%2==1){
    		cout<<a<<"*3+1=";
    		a=a*3+1;
    		cout<<a<<endl;
		}
		else{
	        cout<<a<<"/2=";
	        a=a/2;
	        cout<<a<<endl;
		}
	}
}
相关推荐
NEFU_Jyj6 分钟前
贝尔数(组合数学)
算法
1-1=034 分钟前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
希和202742 分钟前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
旖旎夜光1 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
Pniubi1 小时前
力扣73 矩阵置零
算法·leetcode·矩阵
apcipot_rain11 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克60511 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_67812 小时前
深挖C++:类和对象(中)
开发语言·c++
D e re k ZH14 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法