TB椰程 TypeBuddy 打字搭子

【例33.1】 卡(qia)常数

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

枚举四位数找出所有卡常数

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P198
// 题意:四位数拆成前两位 b 和后两位 a,
//       若 (a+b)² 等于它本身,就叫卡常数。
//       求所有卡常数,空格隔开。
// 思路:枚举 1000 到 9999 的每个四位数,
//       拆开验证条件,成立就输出。
#include <iostream>
using namespace std;

int main() {
    bool first = true;
    // 枚举所有四位数
    for (int n = 1000; n <= 9999; n++) {
        int a = n % 100;
        int b = n / 100;
        // 拆成两段再平方验证
        if ((a + b) * (a + b) == n) {
            if (!first) cout << " ";
            cout << n;
            first = false;
        }
    }
    cout << endl;
    return 0;
}

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

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