水仙花数

来源:互联网 发布:js压缩图片不失真 编辑:程序博客网 时间:2024/04/26 04:48

简述:
水仙花数是指一个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;
}

原创粉丝点击