【必懂】C语言水仙花数题解

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。

前言

本专栏内容将会以轻松、简单的方式完成习题的解答,用情景再现的文章风格使读者能够在轻松愉悦的阅读氛围中完成知识的吸收,本专栏考虑读者的吸收能力,不讲解过多高效的计算方法,降低阅读门槛,希望各位多多支持~

作者简介

作者名:1_bit

简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。

博客地址:https://i1bit.blog.csdn.net


情景再现

🐰小C:Hi~小媛,怎么今天垂头丧气的?

👸小媛:小C,你可要救救我。今天在一个学习群里,他们在讨论一个叫做求水仙花数的内容,我不懂水仙花数,我感觉我被打击了。 😭

🐰小C:哈哈哈,水仙花数呀,水仙花数其实就是指一个三位数,他们的个位、十位、百位的立方和等于这个三位数本身。

👸小媛:他们也是这样解释的,但我还是不懂呀。

🐰小C:那你看一个例子,有一个数 153,个位是 3、十位是 5、百位是 1,然后个位的立方也就是 333 等于 27,十位的立方 555 等于 125,百位的立方 111 等于 1,而这些立方 27、125 以及 1 相加起来是不是等于 153?

👸小媛:是呀,那又怎么样? 😂

🐰小C:这 153 不就是这个三位数本身吗?这个三位数本书也是等于 153 呢。

👸小媛:唔,你意思就是说符合这种规律的数就叫做水仙花数吧?

🐰小C:是的,理解了吗?

👸小媛:懂是懂了,那怎么写呢? 😨

🐰小C:其实这道题不难,有简单的解法;我们知道,一个三位数的范围是大于 99 以及小于 1000,那么我们只需要取模在 99 到 1000 之间数的个位、十位、百位,随后使用这些书进行立方计算,最后进行求和,将最后的结果与原有的数进行对比,这时就可以得知当前的数是否是水仙花数了。

👸小媛:你的意思就是说使用一个循环,然后这个循环从变量直接从 100 开始往 1000 循环,随后对这个循环变量进行取模,取到个位、十位、百位就可以进行计算了?

🐰小C:是的,你先试试这一步你能不能完成。

👸小媛:你在小看我,那么简单,你看下面的代码。 😡

#include<stdio.h>
int main(){int ones,tens,hundreds,i;for(i=100;i<1000;i++){ones=i%10;tens=i/10%10;hundreds=i/100;printf("%d : ones=%d , tens=%d , hundreds=%d \n",i,ones,tens,hundreds);}
}

🐰小C:那你来解释一下循环里面你是怎么获取个位、十位、百位的吧。

👸小媛:其实很简单呀,循环是从 100 到 1000的循环,那么循环变量 i 也会逐渐进行增加,那么想要获取个位,那么直接直接这个循环变量取模10就可以得到个位的数了。

🐰小C:具体怎样可以详细说说吗?

👸小媛:那我给你举个例子吧,例如 153%10 也就是 153 取模 10,取模就是除这个 10 后得到一个余数就是结果,那么此时除 10 就会得到数字 3,这个 3 就是得数,那么就得到了个位,代码就可以写成 ones=i%10;;百位的获取也简单,首先给 153 除 10,由于除 10 后是15.3 但是整型并不保留小数位,那么就可以得到 15,此时再对 15 进行取模即可得到 5 这个结果,代码写成 tens=i/10%10;;最后的百位即同理,直接除 100 就得到了 hundreds=i/100;

🐰小C:行,不错。那你去进行检验过了吗?检验可是最直接的验证方式。

👸小媛:当然,下面就是结果。

🐰小C:那么你就还剩一步,判断个位、十位、百位上的数字的立方相加是否等于循环变量 i,也就是他们原本的数,你知道怎么做吗?

👸小媛:当然知道,那么简单的需求,你看下面的完整代码。

#include<stdio.h>
int main(){int ones,tens,hundreds,i;printf("水仙花数有:\n");for(i=100;i<1000;i++){ones=i%10;tens=i/10%10;hundreds=i/100;if(i==ones*ones*ones+tens*tens*tens+hundreds*hundreds*hundreds){printf("%d 、",i);}}
}

👸小媛:结果在下面。

🐰小C:解释一下吧。

👸小媛:其实也就是在 for 循环中添加了一个 if 语句,判断当前的循环变量 i 是否等于个位立方、十位立方、百位立方的相加和,如果等于就直接输出就好了,在输出内容的时候我也没有换行,为了并排显示,所以就没加换行 \n

🐰小C:哈哈哈,考虑的挺周到的,那你懂水仙花数了吧?不难吧?

👸小媛:之前只是没想过来,都是小东西。

本专栏已参加 CSDN 蓄力计划,感谢读者支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS风暴】ArcGIS 10.8中计算体积的方法总结

ArcGIS 10.8提供了表面体积和面体积两种计算体积的方法。 一、表面体积 用途:用于计算表面和参考平面之间区域的面积和体积。 Situation 1:参考面以上 Situation 2:参考面以下 Python脚本: import arcpy from arcpy import envarcpy.CheckOutExtension("3D")…

.NET7:更细致的时间

当年在做go时&#xff0c;很羡慕它的时间有微秒&#xff0c;纳秒&#xff0c;在做性能优化时&#xff0c;能很小颗粒度的查看引入方法执行的时间&#xff0c;当时.net的DateTime只有毫秒&#xff08;虽然也有别的办法获取&#xff09;。现在&#xff0c;在最新的.NET7 Preview4…

案例:无人测量船水库水下地形测量及库容量计算

本文讲解利用南方方洲号无人船,该系统可用于水下地形地貌测绘、水库库容测量、水文勘测、疏浚检测、水环境监测等领域。 一、无人船水深测量 1、水岸线范围的获取 水岸线有助于布设航线,获取方式有两种: (1)无人船获取 对于

小米android系统耗电量大,小米手机耗电快的解决方法,亲测有效~

原标题&#xff1a;小米手机耗电快的解决方法&#xff0c;亲测有效~各位机友大家好&#xff0c;据小安观察&#xff0c;平台故障报修的小米手机用户还会蛮多的。那么今天就来讲讲小米手机的一些问题和解决方法&#xff0c;如果你感觉手机耗电较快&#xff0c;按照以下方式排查&…

【小白必懂】C语言最大、最小公约数题解

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 前言 本专栏内容将会以轻松、简单的方式完成习题的解答&#xff0c;用…

如何为微服务选择正确的消息队列

微服务及消息队列简史自从 Peter Rodgers 博士 2005 年在 Web Services Edge 会议上首次提出 Micro-Web-Services 一词后&#xff0c;IT 行业慢慢地从单体架构转向了微服务。2009 年&#xff0c;Netflix 决定把其单体架构拆分为微服务。2010 年&#xff0c;Best Buy 开始把它们…

【小白必懂】C语言回文数判断

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 情景再现 &#x1f478;小媛&#xff1a;小C&#xff0c;今天可以教我…

『技术群里聊些啥』查看 dotnet 源码,用它!用它!用它!

前言有网友在交流群中询问&#xff0c;怎么找到 System.Linq 源码的库&#xff1a;其实&#xff0c;我一直使用http://source.dot.net查看 dotnet 源码&#xff0c;这可是David Fowler&#xff08;微软 .NET 架构师&#xff09;也推荐的&#xff1a;功能演示那它到底有哪些功能…

(7)3分钟搞定 C# 逻辑运算

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

【经典回放】多种语言系列数据结构算法:二叉树(C#版)

实验任务描述 1 用C#语言完成二叉树的类、并构造出一个二叉树; 2 用递归方法完成二叉树的遍历; 3 泛型的二叉树遍历之一、用队列给出遍历结果 4 泛型的二叉树遍历之二、委托方式给出二叉树遍历结果 1 二叉树类的设计 同C语言一样,要构建一个二叉树,要用到类似struct的东西…

ThinkPHP讲解(十二)——文本编辑器和ajax传址

一、文本编辑器 1.首先&#xff0c;在网上下载ueditor文件 2.在要添加文本编辑器的页面中引用ueditor文件中的js文件 <script type"text/javascript" charset"utf-8" src"../ueditor/utf8-php/ueditor.config.js"></script> <scr…

(8)小白又如何?3分钟搞定一个 C# 知识点

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

华为鸿蒙vogtloop30pro价格,华为Mate30系列基本确认:首发麒麟985+鸿蒙系统,价格感人!...

原标题&#xff1a;华为Mate30系列基本确认&#xff1a;首发麒麟985鸿蒙系统&#xff0c;价格感人&#xff01;转眼间即将步入6月份&#xff0c;近期关于各大厂商下半年的新机消息也是多了起来&#xff0c;就拿华为下半年的高端旗舰华为Mate30系列来说&#xff0c;在各方媒体的…

(11)python里面while到底有多少知识点

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

【经典回放】多种语言系列数据结构算法:二叉树(JavaScript版)

1 二叉树类的设计以及二叉树遍历 要完成二叉树的类设计&#xff0c;最好把链表下的Node.js复制过来&#xff0c;相比链表的结点&#xff0c;二叉树仅仅是多了一个结点指针而已。略加修改后&#xff0c;就是&#xff1a; function TNODE(DATA) { this.DataDATA; this.lChildnu…

Fiddler之解决https链接返回数据显示乱码问题

1 、问题 我网页访问淘宝&#xff0c;然后F12查看关键链接&#xff0c;返回的数据里面有json各式的数据&#xff0c;然后我通过关键字在Fiddler里面找到链接&#xff0c;然后查看返回的内容是乱码。 2 、解决办法 然后这样设置&#xff0c;再去查看SyntaxView或者Raw都可以看到…

android上传图片被旋转,input上传照片旋转解决办法

需求很简单&#xff1a;h5拍照上传照片&#xff0c;然后显示出来问题在&#xff1a;上传之后的图片在PC&#xff0c;IOS端均能正常显示&#xff0c;Android端显示的则是被旋转90度的。直接上代码下面这个方法传入file对象&#xff0c;然后会去除掉照片中的exIf信息&#xff0c;…

(12)python 的列表我从没想过会那么好用

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

html5 语义化标签

html5 语义化标签 在HTML 5出来之前&#xff0c;我们用div来表示页面章节&#xff0c;但是这些div都没有实际意义。&#xff08;即使我们用css样式的id和class形容这块内容的意义&#xff09;。这些标签只是我们提供给浏览器的指令&#xff0c;只是定义一个网页的某些部分。但…

Android之实现首尾带圆角的多颜色水平条

1 效果图 3 代码实现 这里我们采用PercentRelativeLayout布局,首尾我们用半圆shape实现,代码如下 color.xml <color name="progress_first">#1ebBd5</color><color name="progress_second">#f36f53</color><color name=&…