简述:
水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于本身。(例:
1^3+5^3+3^3 = 1*1*1+5*5*5+3*3*3 = 153)
常见水仙花数:
三位的水仙花数共有4个:153,370,371,407;
四位的水仙花数共有3个:1634,8208,9474;
五位的水仙花数共有3个:54748,92727,93084;
六位的水仙花数只有1个:548834;
七位的水仙花数共有4个:1741725,4210818,9800817,9926315;
八位的水仙花数共有3个:24678050,24678051,88593477
求取方法:
方法1:
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
for(int i=100;i<=999;i++)
{
a=i/100;
b=i%100/10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
cout<<i<<endl;
}
return 0;
}
方法2:
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
for(a = 1; a <= 9; a++)
{
for(b = 0; b <= 9; b++)
{
for(c = 0; c <= 9; c++)
{
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
{
cout << a*a*a+b*b*b+c*c*c << endl;
}
}
}
}
return 0;
}