本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
输入格式:
输入在一行中给出一个需要判断的整数 N(100≤N≤999)。
输出格式:
如果N是水仙花数,则在一行中输出Yes
,否则输出No
。如果N不是三位数,则输出Invalid Value.
。
输入样例1:
153
结尾无空行
输出样例1:
Yes
结尾无空行
输入样例2:
500
结尾无空行
输出样例2:
No
结尾无空行
输入样例3:
-2
结尾无空行
输出样例3:
Invalid Value.
结尾无空行
#include<stdio.h>
#include<math.h>
void main()
{
int N,M;
scanf("%d",&N);
if(100<=N && N<=999)
{
M=(N/100)*(N/100)*(N/100)+(N%10)*(N%10)*(N%10)+(N/10%10)*(N/10%10)*(N/10%10);
if(M==N)
printf("Yes");
else if(M != N)
printf("No");
}
else
{
printf("Invalid Value.");
}
}