第一我们先理解什么叫做水仙花数?例如 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 <iostream>
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;
}