【C++】do-while 循环练习案例 - 水仙花数

目录

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、代码 

#include
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;
}	

【C++】do-while 循环练习案例 - 水仙花数_第1张图片

4、总结

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

        

你可能感兴趣的:(C++,c++,算法)