欢迎来到博主 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++ > 专栏系列持续更新 ,欢迎订阅关注 !