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位数开始慢下来,抛个砖,求大佬优化。

posted @ 2022-11-18 10:31  SnowDreamXUE  阅读(49)  评论(0编辑  收藏  举报  来源