ZZULI1027: 判断水仙花数

题目描述

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。
 现在要求输入一个三位数,判断该数是否是水仙花数,如果是,输出“yes”,否则输出“no” 

输入

输入一个三位的正整数。

输出

输出“yes”或“no”。

样例输入 Copy

153

样例输出 Copy

yes

#include <stdio.h>    // 包含标准输入输出头文件,用于使用 printf 和 scanf 函数
#include <math.h>     // 包含数学库头文件,用于使用 pow 函数

int main() {
    int n;  // 声明一个整数变量 n,用于存储输入的三位正整数
    scanf("%d", &n); // 从标准输入读取一个整数并存储到 n 中

    // 提取每一位数字
    int hundreds = n / 100;        // 计算百位数字:将 n 除以 100,结果为百位的值
    int tens = (n / 10) % 10;      // 计算十位数字:将 n 除以 10 后对 10 取余,结果为十位的值
    int units = n % 10;            // 计算个位数字:对 n 取余 10,结果为个位的值

    // 计算立方和
    int sum_of_cubes = pow(units, 3) + pow(tens, 3) + pow(hundreds, 3);
    // 使用 pow 函数计算每个数字的立方,并将它们相加得到 sum_of_cubes

    // 判断是否为水仙花数
    if (sum_of_cubes == n) // 检查立方和是否等于原数 n
    {
        printf("yes\n"); // 如果相等,输出 "yes",表示是水仙花数
    }
    else {
        printf("no\n");  // 如果不相等,输出 "no",表示不是水仙花数
    }

    return 0; // 正常结束程序,返回 0 表示成功
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值