郑州轻工业大学oj题解(c语言)-1027: 判断水仙花数

题目描述

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如: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");
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容