#include <stdio.h>
#include <stdlib.h>
int pow(int a,int b);
int main(){
int i,n,temp,ni;
scanf("%d",&n);
for(i=pow(10,n-1);i<pow(10,n);i++){
ni = 0;
temp = i;
while(temp>0){
ni += pow(temp%10,n);
temp /= 10;
}
if(ni==i){
printf("%d\n",i);
}
}
}
int pow(int a,int b) // 为了解决最大N运行超时问题,这里借鉴了其他文章的方法 自己重写一个pow 不要Math.h里面的pow函数,这样会节约很多时间
{
int i,t=a;
for(i=1;i<b;i++)
a=a*t;
return a;
}
来源:CSDN
作者:hj_cheng29
链接:https://blog.csdn.net/qq_40604352/article/details/104734945