“水仙花数”的程序解决方案

“水仙花数”的程序
谁可以,编写一个,“水仙花数”的程序

------解决方案--------------------
http://baike.baidu.com/view/152077.htm
------解决方案--------------------
http://blog.****.net/luciferisnotsatan/article/details/6427287
------解决方案--------------------
google 百度 很多的
------解决方案--------------------
这个上google、百度上查吧!
------解决方案--------------------
C/C++ code
#include <iostream>

using namespace std;

int main()
{
    int a,b,c,i;
    cout<<"3位数的“水仙花”为:\n";
    for(i=100;i<=999;i++)
    {
        a=i/100;    //百位
        b=(i-a*100)/10;  //十位
        c=i-a*100-b*10;  //个位
        if(i==a*a*a+b*b*b+c*c*c)
        {
            cout<<i<<" ";
        }
    }
    return 0;
}

------解决方案--------------------
一般情况下要学会自己寻找答案
------解决方案--------------------
google.baidu. 很多。问问题先baidu google。要养成习惯。
------解决方案--------------------
/* TC 通过,N位数水仙花 */
#include "stdio.h"
#include "conio.h"
long int c(long int a,int b)
{
int i,p,j;
long int k,c,d;
for(p=b,i=10,d=0;b>0;b--)
{
k=a%i;/*尾数求余*/
a-=k; /*去掉已求余部分,由于是int的所以也可以不需要这行*/
a/=10;/*向前进一位*/
j=p;/*保证位数不少*/
for(c=1;j>0;j--)c*=k;/*实现c=k的b方*/
d+=c;
}
return d;
}
void main()
{
int n,m;
long int k,i,j;
char ch;
long int c(long int a,int b);
l: printf("\n in n(n>2):");
ch=getche();
n=ch-48;/*以字符控制位数n '0'==48 */
printf("\n");
if((n>2)&&(n<10))
{
for(j=1,i=0;i<n;i++)
{
j*=10;
}/*确定位数*/
for(i=j/10,k=0;i<j;i++)
{
m=n;
if(m>0)/*m为位数控制数*/
{
k=c(i,m);
m--;
}/*递归传值m控制*/
if(k==i)printf(" out num:%ld",i);
}
}
else
{
printf("next:");
goto l;/*goto跳转重新输入*/
}
getch();
}

------解决方案--------------------
  #include<iostream>
  using namespace std;
  int main()
  {int a,q,w,e;
  for(a=100;a<1000;++a)
  {q=a/100;
  w=(a-q*100)/10;
  e=(a-q*100-w*10);
  if(a==q*q*q+w*w*w+e*e*e)
  cout<<a<<"是水仙花数"<<endl;};
  return 0;
  }
摘自百度百科