#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
//IsItArmstrong代表著輸入一個整數,他要回傳這個數是不是阿姆斯壯數
//這樣對我來說比較好思考哈哈,power就是回傳次方值
bool IsItArmstrong(int num);
int power(int x, int y);
int main(){
int lowerBound, upperBound,i;
bool boolen=false;
scanf("%d%d", &lowerBound, &upperBound);
//接下來就是在給定的範圍內窮舉啦
for(i=lowerBound;i<=upperBound;i++){
if(IsItArmstrong(i)){
printf("%d ",i);
boolen=true;
}
}
if(!boolen)
printf("none");
return 0;
}
//length所代表的就是n次方,在程式的一開始我先計算這個數有幾位
//然後再取商和餘數,最後加總
bool IsItArmstrong(int num){
int length=1, temp=num,i,sum=0;
while(temp/10!=0){
length++;
temp/=10;
}
for(i=0,temp=num;i<length;i++,temp/=10)
sum+=power(temp%10,length);
if(sum==num)
return true;
else
return false;
}
int power(int x, int y){
int i,num=1;
for(i=0;i<y;i++){
num*=x;
}
return num;
}