#10465: C解答(長長的~)


jjj138 (夏夜貓)

學校 : 不指定學校
編號 : 44464
來源 : [220.143.28.39]
最後登入時間 :
2017-01-05 21:31:24
a040. 阿姆斯壯數 | From: [223.142.204.127] | 發表日期 : 2015-11-14 09:45

#include<stdio.h>

#include<stdlib.h>

int power(int,int);

 

int main(){

    int num[1000];

    int n,m,i,j,sum,a,b,bol;

while(scanf("%d %d",&n,&m)!=EOF){

bol=0;

for(i=n;i<=m;i++){

 j=i;

 sum=0;

 

 if(i==1000000)

  a=7;

else if(i>=100000)

a=6;

else if(i>=10000)

a=5;

else if(i>=1000)

a= 4;

else if(i>=100)

a=3;

else if(i>=10)

a= 2;

else if(i>=1)

a= 1;

   

 for(b=0;b<a;b++){                                                                                        

 num[b]=j%10;

 j=j/10;

 if(i==1000000)

  sum=sum+ power(num[b],7);

else if(i>=100000)

sum=sum+ power(num[b],6);

else if(i>=10000)

sum=sum+ power(num[b],5);

else if(i>=1000)

sum=sum+ power(num[b],4);

else if(i>=100)

sum=sum+ power(num[b],3);

else if(i>=10)

sum=sum+ power(num[b],2);

else if(i>=1) 

sum=sum+ power(num[b],1);

   }

if(sum==i)

{

printf("%d ",i);

bol=1;

   }

   

 }

   if(bol==0)

   printf("none");

   printf("\n");

}

 

}

 

int power(int base, int n)

{

int i;

int pow=1;

for(i=1;i<=n;i++)

pow=pow*base;

return pow;

 

}

 

 

 

 

 
ZeroJudge Forum