C语言 输出所有的水仙花数

输出所有的"水仙花数"(水仙花数指一个三位数,其各位数字立方和等于该数本身。例如153是水仙花数,因为1^3+5^3+3^3=153)

这个程序找出所有的三位水仙花数,并输出它们。

(如果每各数字立方和等于原数字,则该数字是水仙花数。)

cpp 复制代码
#include <stdio.h>

int main() {
    int num, sum, digit;
    printf("所有的水仙花数:\n");

    for (int i = 100; i < 1000; i++) {
        int temp = i;
        sum = 0;

        // 计算每个数字的立方和
        while (temp > 0) {
            digit = temp % 10;
            sum += digit * digit * digit;
            temp /= 10;
        }

        if (sum == i) {
            printf("%d\n", i);
        }
    }

    return 0;
}

代码说明

  1. 遍历所有三位数(100 到 999)。
  2. 对每个数字,计算其各位数字的立方和。
  3. 如果立方和等于原数字,则该数字是水仙花数。
相关推荐
PPPPPaPeR.5 分钟前
TopK问题与堆排序
c语言·开发语言·c++·算法
小字节,大梦想24 分钟前
C语言_结构体初阶(还未写完)
c语言·开发语言
卡戎-caryon1 小时前
【数据结构】06.栈&&队列
c语言·数据结构·算法·链表
山脚ice1 小时前
【CT】LeetCode手撕—704. 二分查找
算法·leetcode
低调包含2 小时前
RT-Thread和freeRTOS启动流程
c语言·arm开发·rtos
2401_858286112 小时前
12.【C语言】创建函数
c语言·开发语言·数据结构
贱贱的剑2 小时前
【算法】选择排序
算法·rust·排序算法
瑜陀2 小时前
2024.06.30 刷题日记
数据结构·算法·leetcode
Star Patrick2 小时前
*算法训练(leetcode)第二十天 | 39. 组合总和、40. 组合总和 II、131. 分割回文串
c++·算法·leetcode
光久li2 小时前
【算法刷题 | 动态规划14】6.28(最大子数组和、判断子序列、不同的子序列)
算法·动态规划