nyoj_39 水仙花数

水仙花数

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 0
描述
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
输入
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
如果n是水仙花数就输出Yes
否则输出No
样例输入
153
154
0
样例输出
Yes
No

分析:

按照题意做下去就好。唯一的难点就在如何把三位数分解成3个位数。

代码:

#include
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;
}


你可能感兴趣的:(语言入门)