TB椰程 TypeBuddy 打字搭子

冰雹猜想

洛谷·深入浅出 · 代码 · cpp · 难度 3/5 · 共 442 字

按规则变换直到 1,倒序输出整个序列

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1396
// 题意:对 n 反复操作(奇×3+1,偶÷2)直到 1,从最后的 1 起倒序输出序列。
// 思路:把变换序列存数组,最后倒序输出(从 1 开始)。
// 复杂度:O(steps)。
// 易错点:序列要倒序输出;包括起始的 n 与最终的 1。
#include <iostream>
using namespace std;
int main(){
    int n, a[1000], n2 = 0, m = 1;
    cin >> n;
    while(n != 1){ a[n2++] = n; n = (n % 2 == 0) ? n / 2 : n * 3 + 1; }
    a[n2++] = 1;
    for(int i = n2 - 1; i >= 0; i--) cout << a[i] << (i > 0 ? " " : "\n");
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK