【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; // 程序正常结束
}
相关推荐
你怎么知道我是队长1 分钟前
JavaScript 事件介绍
开发语言·前端·javascript
CodeStats6 分钟前
【Linux IO】从文件描述符到硬件中断:Linux IO 系统底层完全拆解
java·linux·开发语言·io·socket
imuliuliang9 分钟前
关于Kruskal 算法在图优化问题中的扩展应用7
算法
大阿明11 分钟前
C++智能指针与RAII机制精讲:彻底根治内存泄漏与野指针
java·jvm·c++
一生了无挂14 分钟前
C++面向对象核心精讲:类、对象、封装、权限与生命周期全解析
java·jvm·c++
着迷不白25 分钟前
Linux系统故障修复、日志管理与安全加固实战指南
开发语言·php
郝学胜-神的一滴31 分钟前
[简化版 GAMES 101] 计算机图形学 17:纹理技术从基础原理到多场景实战应用
c++·unity·游戏引擎·图形渲染·three.js·opengl·unreal
老约家的可汗33 分钟前
Linux中基础IO
linux·服务器·算法
贺国亚35 分钟前
A2A协议与Agent互操作-Task生命周期
开发语言·qt
满怀冰雪44 分钟前
第29篇-状态压缩DP-当状态很多时如何降维优化
java·算法·动态规划