TB椰程 TypeBuddy 打字搭子

【例35.2】 角谷猜想

C++语法 · 循环结构 · 代码 · cpp · 难度 3/5 · 共 541 字

按规则变换直到 1,输出每一步

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P209
// 题意:奇数乘 3 加 1,偶数除以 2,
//       重复处理直到变成 1,输出每一步的算式,
//       最后输出 End。
// 思路:循环次数事先不知道,
//       每轮按奇偶变换并输出算式,n 为 1 时停。
#include <iostream>
using namespace std;

int main() {
    long long n;
    cin >> n;
    // 不知道要变多少次,变到 1 为止
    while (n != 1) {
        if (n % 2 == 1) {
            cout << n << "*3+1=" << n * 3 + 1 << endl;
            n = n * 3 + 1;
        } else {
            cout << n << "/2=" << n / 2 << endl;
            n /= 2;
        }
    }
    cout << "End" << endl;
    return 0;
}

C++语法 · 循环结构的其它内容

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