题目描述
整数猜想是指对于任意给定的大于1的一个正整数,如果它是一个偶数请将其除以2,若是奇数就将其乘以3加1,对其运算结果,如果它不是1,则重复上述操作经过 。经过若干步操作后,总会得到结果1。
输入描述
输入一个大于1的正整数。
输出描述
输出该数的运算过程,数与数之间以空格间隔,最后一个数无空格,以换行结束。
样例
输入
5
输出
5 16 8 4 2 1
来源
算法宝典1 循环结构
答案
#include<iostream>
using namespace std;
int main(){
int a;
cin >> a;
cout << a << ' ';
while(a != 1){
if (a % 2 == 0){
a = a / 2;
cout << a << ' ';
}
else if (a % 2 == 1){
a = a * 3 + 1;
cout << a << ' ';
}
}
return 0;
}