Description
编写程序,判断一个给定的三位数是否为水仙花数。
三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
Input
多测试用例,一个测试用例占一行:一个需要判断的整数 n
Output
一个测试用例输出一行结果:如果 n 是水仙花数,则输出一行 yes,否则输出 no
如果 n 不是三位正整数,则输出 Invalid Value
Sample Input
153
500
-2
Sample Output
yes
no
Invalid Value
#include<stdio.h>
#include<math.h>
int main()
{
int n,a = 0,b = 0,c = 0,x = 0; //初始化
double math; //定义一个判断三位数的变量
math = 0; //初始化
while(scanf("%d",&n)!=EOF){ //多测式用例
math = n /100; //判断三位数
if(math>=1&&math<10){ //是三位数
c = n/100; //百位数
b = (n%100)/10; //十位数
a = (n%100)%10; //个位数
x = pow(a,3)+pow(b,3)+pow(c,3);
if(n==x){ //判断是否相等
printf("yes\n");
}
else{
printf("no\n");
}
}
else{ //如果不是三位数则跳到这里
printf("Invalid Value\n");
}
}
return 0;
}