【C++题解】1722 - 输出两位的巧数

问题:1722 - 输出两位的巧数

类型:简单循环


题目描述:

巧数指的是这样一种特殊的数,该数的各个位数字之和加上各个位数字之积等于本身的自然数。

比如整数 19 ,就是一个巧数,因为(1+9)+(1×9)=10+9=19。

请编程输出所有 2 位的巧数。

输入:

无。

输出:

由小到大输出所有的 2 位巧数,每行 1 个。


完整代码如下:

cpp 复制代码
#include<bits/stdc++.h> 
using namespace std;

int main(){
    // 一、分析问题
    // 已知:所有 2 位的数。
    // 未知:找出其中的巧数。
    // 关系:巧数指的是这样一种特殊的数,该数的各个位数字之和加上各个位数字之积等于本身的自然数。

    // 二、数据定义 
    int g, s, t; // g 代表个位数,s 代表十位数,t 用于存储和与积的结果

    // 三、数据输入 
    // (此部分在本程序中未直接体现,因为是通过循环生成两位数进行处理)

    // 四、数据计算 
    for(int i=10; i<=99; i++){ // 循环遍历所有两位数
        g = i % 10;           // 提取个位数
        s = i / 10;           // 提取十位数(整除)
        t = (s + g) + (s * g); // 计算各位数字之和加上各位数字之积

        // 五、输出结果 
        if(i == t)            // 判断当前数是否为巧数
            cout << i << endl; // 打印巧数
    }

    return 0; // 程序正常结束
}
相关推荐
郝学胜_神的一滴44 分钟前
CMake 27:缓存变量的特性、语法、类型与实操全解
c++·cmake
kisshyshy1 小时前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC12 小时前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
用户9385156350717 小时前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC18 小时前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥19 小时前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程
地平线开发者20 小时前
Transformer模型部署之性能优化指南
算法
地平线开发者20 小时前
人在途中:从“编译失败”到“模型可落地”——CUDA 自定义算子
算法·自动驾驶
半个落月1 天前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
小月土星1 天前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试