#include<stdio.h>
#include<math.h>
int main()
//给一个正整数n(3-7),输出所有n位水仙花数
{
int a=6;//n位数
int i=1;
int begin=1;
int stop=1;
for (i; i < a; i++)
{
begin*=10;
}
stop=begin*10;//得到开始和结束的数
//printf("%d %d",begin,stop);
for (begin; begin < stop; begin++)//遍历每一个数
{
int t=begin;
int sum=0;
for (t; t>0; t=t/10)// %取出最后一位,/划去最后一位,分解整数
{
int x=t%10;
int t=1;
int b=1;
for (t; t <=a; t++)//取每一个分解出数的n次幂
{
b*=x;
}
//b=pow(x,a);
//pow函数亦可
sum+=b;
}
if (sum==begin)
{
printf("%d\n",begin);
}
}
return 0;
}