水仙花数
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。-
输入
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
-
如果n是水仙花数就输出Yes
否则输出No
样例输入
-
153 154 0
样例输出
-
Yes No
分析:
按照题意做下去就好。唯一的难点就在如何把三位数分解成3个位数。
代码:
#include<cstdio> int fun(int n) { return n*n*n; } int main() { int n; while(scanf("%d",&n)==1&&n) if(fun(n/100)+fun(n%100/10)+fun(n%10)==n) printf("Yes\n"); else printf("No\n"); return 0; }
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)