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

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

        

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aperion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值