题目描述:
对于 3 位的水仙花数,是指该三位数的各位数字的立方和等于该数本身。同样四位数的水仙花数就是每个数位上的数字的 4 次方之和等于该数,依次类推。给定数字位数,求相应的水仙花数。 n <= 10
输入描述:
多组输入,每组一行,表示数字位数。
输出描述:
对应于该数字位数,输出相应的水仙花数,每个水仙花数占一行。
样例输入:
3
4
样例输出:
153
370
371
407
1634
8208
9474
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n;
while(cin>>n){
int i,j,p;
int left=1,right=1,k,sum=0;
for(i=1;i<n;i++){
left=left*10;
right=right*10;
}
right=right*10;
for(k=left;k<right;k++){
for(p=k;p>0;p=p/10){
sum=sum+pow(p%10,n);
}
if(sum==k){
cout<<k<<endl;
}
sum=0;
}
}
return 0;
}