Description
水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
Input
本题有多个测试点,每个测试点包含一个正整数n,满足3<= n <=10
Output
对于每个测试点,输出所有n位水仙花数。
Sample Input
3
Sample Output
153
370
371
407
#include<stdio.h>
int power(int i,int j)
{
int sum=1;
for(int num=0;num<j;num++)
{
sum=sum*i;
}
return sum;
}
int main()
{
int min,max;
int sum,a,b;
int N;
//scanf("%d",&N);
while(scanf("%d",&N)!=EOF)
{
min=power(10,N-1);
max=power(10,N);
for (int i=min;i<max;i++)
{
b=i;
sum=0;
while(b>0)
{
a=b%10;
sum=sum+power(a,N);
//if (sum>>i) break;
b=b/10;
}
if(sum==i) printf("%d\n",i);
}
}
return 0;
}