Description
编写程序,输出给定正整数 m 和 n 区间内的所有三位水仙花数。
三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
Input
一行中给出两个正整数 m 和 n ( 100 ≤ m ≤ n ≤ 999 )
Output
顺序输出 m 和 n 区间内所有三位水仙花数,每一行输出一个数。若该区间内没有三位水仙花数,则无输出。
如果 m 或者 n 不符合题目的要求,则输出 Invalid Value
Sample Input
Sample #1
100 400
Sample #2
500 600
Sample #3
990 101
Sample Output
Sample #1
153
370
371
Sample #2
Sample #3
Invalid Value
#include<stdio.h>
#include<math.h>
int main()
{
int a = 0,b = 0,c = 0,x = 0,i,m,n; //初始化
scanf("%d%d",&m,&n); //输入两个条件数
if(999>=n&&n>=m&&m>=100){ //条件100≤m ≤n ≤999
for(i = m;i<n;i++){ //用循环来遍历m到n之间的数
c = i/100; //百位数
b = (i%100)/10; //十位数
a = (i%100)%10; //个位数
x = pow(a,3)+pow(b,3)+pow(c,3);
if(i==x){ //判断是否相等
printf("%d\n",i);
}
}
}
else{ //如果不符合条件则跳到这里
printf("Invalid Value\n");
}
return 0;
}