前言

本题来源于粉丝的求助。

关于粉丝求助的问题,我们会按照先后顺序来解答,并从公众号后台回复答案和解析。

打印水仙花数时间限制: 1000 ms    内存限制: 65536 KB

【题目描述】

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153 = 1³+5³+3³。

【输入】

【输出】

一行一个水仙花水。

【输入样例】

【输出样例】

说明

主要考查水仙花数的相关知识。

思路分析

水仙花数是一个三位数,一个水仙花数=百位数字的立方+十位数字的立方+个位数字的立方。

可以这么思考,从所有的三位数中,逐个判断是否为水仙花数,如果是则输出,否则换下一个三位数。

先循环遍历所有的三位数,代码如下:

变量i代表当前的三位数。接着对变量i进行拆分,即分别取出变量i的百位、十位、个位数字。代码如下:

此时,变量a是百位数字,变量b是十位数字,变量c是个位数字。

关于如何取出一个多位数的每一位数字,详细教程可参考下面文章:

【信奥】如何深刻理解除法和取模运算(基础篇)

要取出个位数字,只要i%10即可。

要取出十位以上的数字,可以这么思考:把要取出的某位数字变成个位数字,那么%10就可以取出。例如123,要取出十位数字2,让2变成个位数字即可,而123/10=12,此时2就变成个位数字,再%10即可取出数字2。

原理:要删除一个多位数右边的几位数字,除以一个10的几次方即可。例如12345取出千位数字2,除以1000即可。

取出一个三位数的所有位数字后,即可按照公式判断是否为水仙花数。代码如下:

数据类型:本题的数据最大也就三位数,所有数据可选int类型。

重难点

本题的重难点是如何取出一个三位数的百位、十位、个位数字。

运行结果

参考代码 - C++

参考代码下载链接

https://pan.baidu.com/s/1uB1jXca1wLRaf3D5W-u_Sw

提取码:dsbc

END

注:题目来源于网络,转载于《信息学奥赛一本通(C++版)在线评测系统》,点击下方的【阅读原文】即可打开该题的链接。

题解属于本微信公众号【大神编程】原创。

一个数三位立方和相加等于本身_【题解信奥】打印水仙花数(粉丝求助)相关推荐

  1. java习题4_6水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数。

    水仙花数是指其个位.十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数. public class for4_6 {public static void main(String[] ar ...

  2. 编写程序输出所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。

    #include <graphics.h> #include <conio.h> #include<stdio.h> int main() {     int a, ...

  3. 小于三位的正整数 正则式_蓝调解码|样板文章,投稿必读:计算思维培养的“递进式”活动设计研究...

    本号已推荐<中国信息技术教育>2020年3月刊发表. 计算思维培养的"递进式"活动设计研究   王静文  淄博实验中学 255090 崔国亮  淄博实验中学  2550 ...

  4. 小于三位的正整数 正则式_正则表达式

    正则表达式是解决字符串处理问题的利器,大部分替换.匹配字符串的问题都可以用正则表达式来解决. 正则表达式中常用元字符定义如下: d 代表整数 B 代表非边界 D 代表非整数 w 是word的缩写,等价 ...

  5. C++中如何读取一个数的位数_求1000以内的水仙花数

    点击上方 蓝字关注我们 大家好,我是阿汤哥. 看知乎上有朋友说还不明白怎么判断水仙花数,今天我们就来看看这个问题.(PS:"求1000以内的水仙花数"这道题阿汤哥记忆犹新.到现在还 ...

  6. 求出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。比如153是一个水仙花数,因为153=1^3+5^3+3^3。

    #include <stdio.h> int main(void) {int a,b,c;for (a=1;a<10;a++)for (b=0;b<10;b++)for (c= ...

  7. 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=1^ 3+5^3+3^ 3

    #include<stdio.h> int Shui( int b)//这里为了方便以水的拼音命名,建议第一个字母大写 {int g, s, ba;for (; b <= 999; ...

  8. 水仙花问题:水仙花数是一个3位数,其值刚好等于其各个数位的立方和。如153= ,编程输出所有的水仙花数。

    from math import* for i in range(100,1000): a=i//100 b=i//10%10 c=i%10 if i==pow(a,3)+pow(b,3)+pow(c ...

  9. matlab求一个数的位数字,matlab求一个三位整数各位数字的立方和等于该数本身则称为...

    用C语言随机产生一个三位整数 思路:分别产生个.十.百位上的随机数,依次组合在一起#include#include#includeintmain(){inti,tmp;num=0;srand((uns ...

最新文章

  1. mysql 子查询 主键外键_MySQL查询优化:用子查询代替非主键连接查询实例介绍
  2. Tableau实战系列浏览 Tableau 环境(一) -初识tableau操作界面
  3. Linux 内核链表剖析(二十)
  4. Vue中使用input简易的上传图片
  5. html注释的爱情故事,爱情故事”为你的婚礼贴上专属标签
  6. Solidworks如何将参考平面的图形投影到某曲面上
  7. java ftp获取文件名的方法_小猿圈Java学习-URL地址的组成格式
  8. 基于TableStore的数据采集分析系统介绍 1
  9. flutter向上动画弹出菜单效果
  10. 读读objc源码(二):weak类型指针的实现
  11. Linux虚拟化KVM-Qemu分析(五)之内存虚拟化
  12. Linux - Ubuntu下JDK配置
  13. 二段式提交和三段式提交
  14. 等比数列求和python_python计算等差数列
  15. dual mysql 获取序列_FASTJSON反序列化和构造函数之间的一点小秘密
  16. bigemap 功能介绍
  17. BI项目规划的四个建议
  18. 基于python学生档案管理系统的设计与实现.rar(毕业论文+程序源码+答辩PPT)
  19. php 插件推荐,Typecho实用插件推荐(一)
  20. java map 缓存数据_java使用hashMap缓存保存数据的方法

热门文章

  1. 如何使用小的显存训练大的batch_size
  2. vue-router学习地址
  3. pythorch创建简单的神经网络源码
  4. 分分钟教会你使用HTML写Web页面
  5. Android切近实战(八)
  6. 使用HtmlGenericControl控件动态产生一些HtmlControls
  7. Lazy loading
  8. load generator 与ip Spoofer的区别
  9. 谷歌公布十大恶意网站 均曾攻击上万网站
  10. 2021fall Bloomberg校招