求一个区间的水仙花数plus

img


求大神解答

#include<stdio.h>
#include<math.h>
int main() {
    int n,a,b,i,t,s;
    scanf("%d",&n);
    a=pow(10,n-1);
    b=a*10;
    for(i=a;i<b;i++){
        t=i;
        s=0;
        while(t!=0){
            s+=pow(t%10,3);
            t/=10;
        }
        if(i==s){
            printf("%d\n",i);
        }
    }
    return 0;
}


 有帮助请采纳

供参考:

#include<stdio.h>
#include<math.h>
int main()
{
    int N,i,p,t,sum,n,m,k;
    scanf("%d",&N);
    i = pow(10,N-1);
    p = pow(10,N);
    for(;i < p;i++){
        for(sum=0,t=i;t>0;t/=10){
            m=N;k=1;
            n = t%10;
            while(m--)k*=n;
            sum+= k;
        }
        if(sum==i){
            printf("%d\n",i);
        }
    }
    return 0;
}