用C++求水仙花数

第一我们先理解什么叫做水仙花数?例如 1^3+5^3+3^3=153,这个153就是水仙花数。

总结公式a*a*a+b*b*b+c*c*c=abc

现在我们要将100——1000以内的水仙花数找出来

如何将三位数的个位、十位、百位取出来?我拿153来举例子

1.获取个位  153%10=3

2.获取十位 153/10=15,15%10=5,其中“/”表示整除,所以153/10%10=5.

3.获取百位 153/100=1

最后就是判断是否为水仙花数,代码如下

#include 

using namespace std;

int main()
{
	int num = 100;
	do
	{
		int a = 0;//个位
		int b = 0;//十位
		int c = 0;//百位
		a = num % 10;//取个位
		b = num / 10 % 10;//取十位
		c = num / 100;//取百位
		if (a*a*a +b*b*b +c*c*c == num )//打印水仙花的数
		{
			cout << num << endl;
		}
		
		num++;
	} while (num < 1000);

	system("pause");
	return 0;
}

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