c语言求自幂数
#include<stdio.h>
#include<math.h>
void check(long num,long n);
int main()
{
long a,n,b,c;
while(scanf("%ld",&n))
{
if(n==2){
printf("Not Find\n");
continue;
}
b=pow(10,n-1);
c=pow(10,n);
for(a=c-1;a>=b;a--)
{
check(a,n);
}
printf("\n");
}
}
void check(long num,long n)
{
long temp,sum=0;
temp=num;
while(temp)
{
sum+=pow(temp%10,n);
temp/=10;
}
if(sum==num)printf("%ld ",num);
}
算到8位数开始慢下来,抛个砖,求大佬优化。