题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。
现在要求输入一个三位数,判断该数是否是水仙花数,如果是,输出“yes”,否则输出“no”
输入
输入一个三位的正整数。
输出
输出“yes”或“no”。
解题思路
水仙花数是在很多编程数都会提到的题目,涉及的知识主要是数位分离还有逻辑的判断。数位分离的知识跟1004题是一样的(可以参考1004题解)。本题主要还涉及逻辑判断的知识,和是否等于原来的数字,这里肯定要用==来判断是否相等,经常有初学者在这里把==写成=,导致逻辑不对。
参考代码:
#include <stdio.h>
int main()
{
int x;
int g, s, b;
scanf("%d", &x);
b = x / 100;
g = x % 10;
s = x % 100 / 10;
if (b*b*b + s*s*s + g*g*g == x) {
printf("yes\n");
} else {
printf("no\n");
}
}