【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; // 程序正常结束
}
相关推荐
kiracrimson2 分钟前
希尔排序:让插入排序不再怕逆序
数据结构·算法·排序算法
茉莉玫瑰花茶8 分钟前
GO [ 类型 ]
开发语言·数据库·golang
梅雅达编程笔记13 分钟前
02_BeautifulSoup网页数据提取
开发语言·爬虫·python·beautifulsoup·数据采集
Escalating_xu17 分钟前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
垆边人似月.23 分钟前
华为机考题:最小代价爬楼梯
c语言·c++
可涵不会debug30 分钟前
C++ std::bind 实战教程:线程池、回调场景全覆盖
linux·开发语言·c++
不正经的码狗34 分钟前
Java 开发环境搭建与 Eclipse 使用速通教程
java·开发语言·eclipse
yi0111 小时前
DAY17: LeetCode 139|单词拆分:从“把单词删掉”到用 DP 记录合法切口
人工智能·笔记·python·算法·leetcode·动态规划
阿钱真强道1 小时前
24 嵌入式操作系统 | 项目启动与环境准备(PyQt5 / Flask 两个“最小可跑“)
开发语言·qt·flask·架构设计·协议契约
霸道流氓气质1 小时前
AI模型幻觉检测与抑制完全指南:从规则引擎到RAG对比的Java生产级实战
java·开发语言·人工智能