个人信息页面设计漂亮的网站,网站开发 c,360免费建站域名免费吗,动态ip网站如何备案文章目录 一、题目描述【深基5.例3】冰雹猜想题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 二、参考代码 一、题目描述
【深基5.例3】冰雹猜想
题目描述
给出一个正整数 n n n#xff0c;然后对这个数字一直进行下面的操作#xff1a;如果这个数字是奇数… 文章目录 一、题目描述【深基5.例3】冰雹猜想题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 二、参考代码 一、题目描述
【深基5.例3】冰雹猜想
题目描述
给出一个正整数 n n n然后对这个数字一直进行下面的操作如果这个数字是奇数那么将其乘 3 3 3 再加 1 1 1否则除以 2 2 2。经过若干次循环后最终都会回到 1 1 1。经过验证很大的数字 7 × 1 0 11 7\times10^{11} 7×1011都可以按照这样的方式比变成 1 1 1所以被称为“冰雹猜想”。例如当 n n n 是 20 20 20变化的过程是 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 20\to 10\to 5\to 16\to 8\to 4\to 2\to 1 20→10→5→16→8→4→2→1。
根据给定的数字验证这个猜想并从最后的 1 1 1 开始倒序输出整个变化序列。
输入格式
输入一个正整数 n n n。
输出格式
输出若干个由空格隔开的正整数表示从最后的 1 1 1 开始倒序的变化数列。
样例 #1
样例输入 #1
20样例输出 #1
1 2 4 8 16 5 10 20提示
数据保证 1 ≤ n ≤ 100 1 \le n\le 100 1≤n≤100。 二、参考代码
#include iostream
#include string
#include algorithm
#include math.h
#include iomanip
using namespace std;
const int maxn 100000001;
int arr[maxn] { 0 };int main(void) {int num;cin num;arr[0] num;int cnt 1;for(int i1;;i){if (num 1){cnt i;break;}if (num % 2 0){num / 2;arr[i] num;}else{num num * 3 1;arr[i] num;}}for (int i cnt - 1; i 0; i--){cout arr[i] ;}
}