一个数三位立方和相加等于本身_【题解信奥】打印水仙花数(粉丝求助)
本题来源于粉丝的求助。
关于粉丝求助的问题,我们会按照先后顺序来解答,并从公众号后台回复答案和解析。
打印水仙花数时间限制: 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++版)在线评测系统》,点击下方的【阅读原文】即可打开该题的链接。
题解属于本微信公众号【大神编程】原创。
一个数三位立方和相加等于本身_【题解信奥】打印水仙花数(粉丝求助)相关推荐
- java习题4_6水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数。
水仙花数是指其个位.十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数. public class for4_6 {public static void main(String[] ar ...
- 编写程序输出所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。
#include <graphics.h> #include <conio.h> #include<stdio.h> int main() { int a, ...
- 小于三位的正整数 正则式_蓝调解码|样板文章,投稿必读:计算思维培养的“递进式”活动设计研究...
本号已推荐<中国信息技术教育>2020年3月刊发表. 计算思维培养的"递进式"活动设计研究 王静文 淄博实验中学 255090 崔国亮 淄博实验中学 2550 ...
- 小于三位的正整数 正则式_正则表达式
正则表达式是解决字符串处理问题的利器,大部分替换.匹配字符串的问题都可以用正则表达式来解决. 正则表达式中常用元字符定义如下: d 代表整数 B 代表非边界 D 代表非整数 w 是word的缩写,等价 ...
- C++中如何读取一个数的位数_求1000以内的水仙花数
点击上方 蓝字关注我们 大家好,我是阿汤哥. 看知乎上有朋友说还不明白怎么判断水仙花数,今天我们就来看看这个问题.(PS:"求1000以内的水仙花数"这道题阿汤哥记忆犹新.到现在还 ...
- 求出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。比如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= ...
- 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=1^ 3+5^3+3^ 3
#include<stdio.h> int Shui( int b)//这里为了方便以水的拼音命名,建议第一个字母大写 {int g, s, ba;for (; b <= 999; ...
- 水仙花问题:水仙花数是一个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 ...
- matlab求一个数的位数字,matlab求一个三位整数各位数字的立方和等于该数本身则称为...
用C语言随机产生一个三位整数 思路:分别产生个.十.百位上的随机数,依次组合在一起#include#include#includeintmain(){inti,tmp;num=0;srand((uns ...
最新文章
- mysql 子查询 主键外键_MySQL查询优化:用子查询代替非主键连接查询实例介绍
- Tableau实战系列浏览 Tableau 环境(一) -初识tableau操作界面
- Linux 内核链表剖析(二十)
- Vue中使用input简易的上传图片
- html注释的爱情故事,爱情故事”为你的婚礼贴上专属标签
- Solidworks如何将参考平面的图形投影到某曲面上
- java ftp获取文件名的方法_小猿圈Java学习-URL地址的组成格式
- 基于TableStore的数据采集分析系统介绍 1
- flutter向上动画弹出菜单效果
- 读读objc源码(二):weak类型指针的实现
- Linux虚拟化KVM-Qemu分析(五)之内存虚拟化
- Linux - Ubuntu下JDK配置
- 二段式提交和三段式提交
- 等比数列求和python_python计算等差数列
- dual mysql 获取序列_FASTJSON反序列化和构造函数之间的一点小秘密
- bigemap 功能介绍
- BI项目规划的四个建议
- 基于python学生档案管理系统的设计与实现.rar(毕业论文+程序源码+答辩PPT)
- php 插件推荐,Typecho实用插件推荐(一)
- java map 缓存数据_java使用hashMap缓存保存数据的方法