【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; // 程序正常结束
}
相关推荐
sprite_雪碧14 小时前
3.2 最大公约数(GCD)&斐波那契数列 & 素数相关(机试高频数学考点)
算法
不会写DN14 小时前
Js常用数组处理
开发语言·javascript·ecmascript
还是大剑师兰特14 小时前
数组中有两个数据,将其变成字符串
开发语言·javascript·vue.js
2301_7765087214 小时前
C++中的职责链模式实战
开发语言·c++·算法
sqyno1sky14 小时前
C++中的空对象模式
开发语言·c++·算法
星轨初途14 小时前
C++ 类和对象(下):初始化列表、static 成员与编译器优化深度剖析
android·开发语言·c++·经验分享·笔记
量子炒饭大师14 小时前
【C++ 入门】Cyber动态义体——【vector容器】vector底层原理是什么?该怎么使用他?一文带你搞定所有问题!!!
开发语言·c++·vector·dubbo
学嵌入式的小杨同学14 小时前
STM32 进阶封神之路(二十三):低功耗深度解析 —— 从睡眠模式到停机模式(底层原理 + 寄存器配置)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
AC赳赳老秦14 小时前
OpenClaw 系统监控实战指南:构建高效的电脑/服务器状态监控与自动告警系统
服务器·开发语言·人工智能·php·ai-native·deepseek·openclaw
宝耶14 小时前
Java面试题5:List、Set、Map 的区别?各自有哪些实现类?
java·开发语言·list