判断水仙花数———每日OJ>>
Description
判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一个数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=33+73+13.
input
一个三位数
output
Yes或者No(Yes代表此数为水仙花数,No代表此数不是水仙花数)
Sample Input
371
Sample Output
Yes
解题思路
我们这里是输入一个三位数,就是说100<X<1000,根据水仙花数的特点:其各位数字的立方和等于该数本身。我们只需要将这个三位数的个位、十位、百位上的数字求出来,再判断X与各数字立方和是否相等就行了。
if(X==aaa+bbb+ccc)
这里可以调用 <math.h>中的pow(a,b)求立方
代码:
#include <stdio.h>
#include <math.h>
int main ()
{
int num,sum;
int a,b,c;
scanf ("%d",&num);
a = num/100;//求出百位上数字
b = num / 10 % 10; // 求十位
c = num % 10; // 求个位
sum = pow(a,3)+pow(b,3)+pow(c,3);
if (sum==num)
printf ("Yes");
else
printf ("No");
return 0;
}