任务描述
鲜花数是指一个N位正整数(7≥N≥3),它的每个位上的数字的N次幂之和等于它本身。
例如: 153=13+53+33,1634=14+64+34+44。
当N=3时,花朵数又称为水仙花数;
当N=4时,花朵数又称为四叶玫瑰数;
当N=5时,花朵数又称为五角星数;
当N=6时,花朵数又称为六合数;
当N=7时,花朵数又称为北斗数,等等。
要求编写程序,输出所有N位花朵数。
输入格式:
一个整数N(7≥N≥3)
输出格式:
从小到大输出所有N位鲜花数,一个数一行。
输入样例1:
3
输出样例1:
153
370
371
407
输入样例2:
4
输出样例2:
1634
8208
9474
#include<stdio.h>
#include<math.h>
int main()
{
int n;
scanf("%d",&n);
long long a=pow(10,n-1);
long long b=pow(10,n);
for(long long i=a;i<b;i++){
long long temp=i;
long long sum=0;
while(temp>0){
sum+=pow((temp%10),n);
temp/=10;
}
if(sum==i){
printf("%lld\n",i);
}
}
return 0;
}