【C++】第 3 课 - do-while 循环应用案例 - 水仙花数

news/2025/3/6 3:15:30/

        欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。


 

目录

1、缘起 

2、案例描述      

3、示例代码

4、总结


1、缘起 

        以前在学习 C 语言 的时候,就做过水仙花数的练习题。在当时学习的时候就很疑惑,这个 水仙花水仙花数 有啥关系,为什么这个数叫做水仙花数?当时,也只是疑惑了一下下,并没有去查阅相关资料,了解其中的恩恩怨怨。最近在学习 C++ 语言,又接触到了水仙花数,然后就了解了一下水仙花和水仙花数的关系。以下是 chatGPT 给出的答案:

        "  水仙花数这个名字来自于一种花卉植物——水仙花,它在数学上的含义与这种花卉无关,只是因为这种花卉的形状优美、花瓣数量固定,所以被数学家们用来命名这个特殊的数字。

        这个名字最早可以追溯到1946年,当时一位名叫 Dudeney 的数学家,在一本数学谜题书中提出了 水仙花数这个问题,并以这种花卉的名字来命名这个数字。这个问题后来被广泛传播,成为了一个经典的数学问题。 "

        是啊,中文是表意语言,通过名字就知道其表示的具体含义。我们在给新兴事物起名字的时候,总会为其赋予特殊的内涵,来寄予自己的殷切期望。在一些事物有类似的名字时,它们之间总会有着一些相关联系。而除中文以外的语言,可能就没有这么强的表意性,名字只仅仅是一个名字,起名字也是随意而为,为什么要给他赋予一些特殊的内涵呢?比如说像“苹果,亚马逊,Python(蟒蛇) 等”这些名字和其名字后面所代表的事物并没有多大关联,很多情况下都是起名者的随意而为。

        最其经典的就是 Python 编程语言中的这个 Python 名字的由来。Python 的名字来源于创始人Guido van Rossum 的爱好。在创造Python编程语言时,他受到了一部BBC电视剧《蒙提·派森的飞行马戏团》的启发。该节目中有一个叫做“Python”的喜剧团体,Guido van Rossum喜欢这个名字,认为它简洁而有趣,于是就将其作为Python编程语言的名称。Python的标志也是一条蟒蛇,也与这个名字有关。"蟒蛇" 和编程语言没有任何关系,也没有任何特殊的含义,只是因为开发人员的喜好,就为这门编程语言起名为 Python。

        所以,水仙花和水仙花数并没有关系,只是数学家按照自己的喜好随意为之。


 

2、案例描述      

案例描述:

水仙花数是指一个 3 位数,其各个位上数字的立方和恰好等于该数本身。例如 153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

请用 do-while 循环结构,求出所有 3 位数中的水仙花数。

解题思路:

1、将所有的三位数进行输出(100~999)

2、在所有三位数中找到水仙花数

        水仙花数        153

        获取个位        153%10 = 3

        获取十位        153/10 = 15        15%10 = 5

        获取百位        153/100 = 1

        判断        个位^3 + 十位^3 + 百位^3 = 本身


 

3、示例代码

①  main.c 

#include<iostream>
using namespace std;int main()
{//1、先打印所有的三位数字int num = 100;do{//2、从所有三位数字中找到水仙花数int ones_place = 0; //个位int tens_place = 0; //十位int hundreds_place = 0; //百位ones_place = num % 10;tens_place = (num / 10) % 10;hundreds_place = num / 100;if (num == ones_place* ones_place* ones_place + tens_place* tens_place* tens_place + hundreds_place* hundreds_place* hundreds_place)//如果是水仙花数,才打印{cout << num << endl;}num++;} while (num < 1000);system("pause");return 0;
}	

②  代码运行结果图展示 


 

4、总结

        这片博客主要介绍了用 do-while 循环结构来求水仙花数。今天的分享总结就到这里了,如果有疑问的小伙伴,我们在评论区交流嗷~,笔者必回,我们下期再见啦 !!

博客中难免存在疏漏和错误之处,皆归因于作者水平有限,诚请各位读者不吝指正 !

< C++ >  专栏系列持续更新 ,欢迎订阅关注 !
 

        


http://www.ppmy.cn/news/972751.html

相关文章

openai 介绍

介绍 OpenAI&#xff08;开放人工智能&#xff09;是美国一个人工智能研究实验室&#xff0c;由营利组织 OpenAI LP 与母公司非营利组织 OpenAI Inc 所组成&#xff0c;目的是促进和发展友好的人工智能&#xff0c;使人类整体受益。OpenAI成立于2015年底&#xff0c;总部位于加…

她琴棋书画全能,还进入清华计算机系实验室,被赞智商太超群、能力过强悍...

金磊 杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 最特殊&#xff0c;没有之一。 她叫华智冰&#xff0c;没有参加过任何升学考试&#xff0c;没有拿过任何竞赛名次。 却被清华大学计算机科学与技术系知识工程实验室&#xff0c;“破格录取”。 而且就这么一位学生&#xff…

chatgpt赋能python:Python中文译名的由来及其重要性

Python中文译名的由来及其重要性 Python&#xff0c;是一种高级、通用性、直译式、编译式、面向对象的动态程序设计语言。Python 语言设计的哲学是“优雅”、“明确”、“简单”&#xff0c;所以很多人将其称为“优美的语言”。 然而&#xff0c;Python这个名字在中文地区的译…

后端(四):博客系统项目

咱们在这里实现的是后端项目&#xff0c;前端代码就提一提&#xff0c;不全做重点介绍&#xff0c;在开始讲解这个博客系统项目之前&#xff0c;我们先看看这个项目的前端界面&#xff1a; 登录界面&#xff1a; 个人主页&#xff1a; 博客详情页&#xff1a; 写博客页&#x…

【UE5 多人联机教程】02-开始游戏菜单控件

目录 步骤 一、完善开始游戏菜单控件 二、控件功能实现 2.1 “开始游戏”按钮切换界面 2.2 “创建房间”、“加入房间”按钮切换界面 2.3 “创建房间”按钮 步骤 一、完善开始游戏菜单控件 打开“UMG_Main” 首先在控件切换器外层包裹一个画布面板 然后调整控件切换器全…

java实现doc文件流转docx文件流

java实现doc文件流转docx文件流 1. 引入依赖2. InputStream转字节数组,并关闭流3. 使用ByteArrayOutputStream接收docx文件流4.字节数组转InputStream5. 完整代码 1. 引入依赖 <!-- https://mvnrepository.com/artifact/com.aspose/aspose-words --> <dependency>…

【Redis】所以延迟双删有啥用

文章目录 1、何为延时双删2、常用缓存策略2.1、介绍2.2、先删缓存后更库2.3、先更库后删缓存2.4、使用场景 3、延时双删实现4、为什么要使用延时双删5、方案选择6、延时双删真的完美吗7、如何确定延时的时间 1、何为延时双删 延迟双删&#xff08;Delay Double Delete&#xf…

【el-tree查询并高亮】vue使用el-tree组件,搜索展开并选中对应节点,高亮搜索的关键字,过滤后高亮关键字,两种方法

第一种&#xff08;直接展开并高亮关键字&#xff09; 效果图这样的&#xff0c;会把所有的有这些关键字的节点都展开 代码&#xff1a; 这里的逻辑就是通过递归循环把所有和关键字匹配的节点筛选出来 然后通过setCheckedKeys方法把他展开选中 然后通过filterReal把关键字高亮…