【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; // 程序正常结束
}
相关推荐
BeiGuTing_code8 小时前
Java泛型与Object
java·开发语言
another heaven8 小时前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构
2401_872418788 小时前
互联网公开信息检索完全指南:Google、Yandex、Wayback Machine、DNS、WHOIS、Shodan 等 OSINT 工具大全
开发语言·php
HEJOO98 小时前
Java 类加载过程详解:从加载到初始化的完整链路
java·开发语言·firefox
greencherry_8 小时前
大连模屿石膏课模具配比全固定,调色浇注之外还缺什么?
算法·生活
hahaha60168 小时前
数字图像锐化
开发语言·python
科学熊8 小时前
Java 分布式理论与高并发编程
java·开发语言·分布式
普贤莲花8 小时前
先学Workbuddy还是“人工智能训练师”,或者python基础课?
开发语言·人工智能·python
星之擎8 小时前
Task 很优雅的取消方式是什么?C# 里面。
开发语言·c#
努力努力再努力wz8 小时前
【C++ 高阶系列】C++ 高性能网络编程:当 Reactor 遇见协程:从 epoll 回调到异步 MySQL,彻底打通任务挂起与恢复
网络·c++·mysql