#include<stdio.h>
#include<math.h>
int main()
{
int i,n,m,t,c,j;
while(scanf("%d",&n)!=EOF)
{
if(n<3||n>7) continue;
m=pow(10,n-1);
for(i=m;i<10*m;i++)
{
t=i; c=0;
for(j=0;j<n;j++)
{
c+=pow(t%10,n);
t/=10;
}
if(c==i) printf("%d\n",i);
}
}
return 0;
}
该算法当n值变大时,效率十分低。求优化!