C语言——多种方式打印出1000之内的所有的“水仙花数”

news2024/11/13 8:56:52

        所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

方法一

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main() 
{
    int i, j, k, num;
    // 循环遍历所有的3位数
    for (i = 1; i <= 9; i++) 
	{
        for (j = 0; j <= 9; j++) 
		{
            for (k = 0; k <= 9; k++) 
			{
                num = i * 100 + j * 10 + k;
                // 判断是否为水仙花数并打印
                if (num == i*i*i + j*j*j + k*k*k) 
				{
                    printf("%d\n", num);
                }
            }
        }
    }
    return 0;
}

        这个程序通过三个嵌套的循环遍历所有的3位数,并检查它们是否满足水仙花数的条件。如果一个数满足条件,它就会被打印出来。

方法二 

#include <stdio.h>

int main() {
    int num, digit, sum;
    printf("水仙花数:\n");
    for (num = 100; num <= 999; num++) 
    {
        sum = 0;
        int temp = num;
        while (temp != 0) 
        {
            digit = temp % 10;
            sum += digit * digit * digit;
            temp /= 10;
        }
        if (sum == num) 
        {
            printf("%d ", num);
        }
    }
    printf("\n");
    
    return 0;
}

方法三

#include <stdio.h>

int main() {
    int i, j, k, n;
    printf("水仙花数:\n");
    for (n = 100; n <= 999; n++) 
    {
        i = n / 100; // 百位数
        j = n / 10 % 10; // 十位数
        k = n % 10; // 个位数
        if (n == i * i * i + j * j * j + k * k * k) 
        {
            printf("%d ", n);
        }
    }
    return 0;
}

方法四

#include <stdio.h>
#include <math.h>
 
int main()
{
    int a, b, c, n;
    n = 100;
    printf("水仙花数:\n");
    while (n < 1000)
    {
        a = n % 10; // 取个位数
        b = n / 10 % 10; // 取十位数
        c = n / 100; // 取百位数
        if (n == pow(a, 3) + pow(b, 3) + pow(c, 3)) // 判断是否为水仙花数
        {
            printf("%d ", n); // 输出水仙花数
        }
        n++;
    }
    return 0;
}

方法五(函数)

#include <stdio.h>

int isWaterfallNumber(int num) 
{
    int digit1 = num / 100; // 获取百位数字
    int digit2 = (num % 100) / 10; // 获取十位数字
    int digit3 = num % 10; // 获取个位数字
    
    // 判断各位数字的立方和是否等于该数本身
    if(digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3 == num) 
    {
        return 1; // 是水仙花数
    } else {
        return 0; // 不是水仙花数
    }
}

void printWaterfallNumbers() 
{
    int num;
    
    printf("水仙花数:");
    for(num = 100; num <= 999; num++) 
    {
        if(isWaterfallNumber(num)) 
        {
            printf("%d ", num);
        }
    }
}

int main() 
{
    printWaterfallNumbers();
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git报错invalid object xxx和unable to read tree xxxxxx

电脑出问题了&#xff0c;导致git仓库像是被损坏了一样&#xff0c;执行git status就会报错unable to read ree&#xff0c;无法正常提交代码至仓库&#xff0c;原因是本地代码仓库.git文件损坏了&#xff0c;无法找到正确的提交历史和路径。 找到了一个解决办法&#xff1a; …

TSINGSEE青犀AI视频智能分析系统的视频接入能力解析

视频智能分析技术是一种先进的人工智能技术&#xff0c;它能够对视频内容进行自动化的分析和理解。这种技术的主要特点包括实时性、自动化、准确性、可解释性等。 1&#xff09;实时性。视频智能分析技术能够在短时间内对大量的视频数据进行快速处理和分析&#xff0c;从而提供…

精彩回顾|迪捷软件先进装备软件技术研讨会之行圆满收官

2023年11月24日&#xff0c;为期3个月的先进装备软件高安全、高可靠、智能化验证技术系列研讨会在成都圆满收官。迪捷软件董事长康烁作为研讨会特邀专家&#xff0c;在西安、上海、成都站进行了演讲分享。 以航空航天、船舶、电力电子、汽车、医疗为代表的先进装备软件发展迅速…

英国人工智能初创公司Stability AI面临卖身压力;深度学习中的检索增强生成简介

&#x1f989; AI新闻 &#x1f680; 英国人工智能初创公司Stability AI面临卖身压力 摘要&#xff1a;多位知情人士透露&#xff0c;英国人工智能初创公司Stability AI正寻求出售公司&#xff0c;因为投资者对其财务状况的压力越来越大。管理层最近几周一直将自己标榜为收购…

如何创建曼达洛人风格的照片效果

如何把一个普通的头盔变成一个以曼达洛人为灵感的头盔&#xff1b;如何使用一个场景创建戏剧性的天空效果 1. 如何在 Photoshop 中创建戏剧性的天空 步骤 1 我们将从拼凑我们的天空开始&#xff0c;专注于创造日落和繁星点点的夜空的完美融合。我将使用这张照片作为基地。 步…

Linux:进程状态

目录 1.Linux内核关于进程状态的源代码 2. 运行状态 3. 阻塞状态 4. 挂起 5.Linux中的进程状态 5.1 睡眠状态 5.2 暂停状态 5.3 僵尸进程与孤儿进程 我们在学习进程状态时&#xff0c;老师只是简单的让我们记住下面这张图 1.教材中进程操作系统的进程状态 那么这些…

threeJs引入模型使用3D模型(vite+React+Ts)

要在 Three.js 中使用 3D 模型&#xff0c;你需要加载模型文件并将其添加到场景中。Three.js 支持多种不同的模型格式&#xff0c;比如 OBJ、FBX、GLTF 等。 init vitelatest //创建一个vite的脚手架 选择react并配置Ts 安装three.js准备 npm install react-three/drei np…

信号类型(通信)——高斯最小频率键控(GMSK)

系列文章目录 《信号类型&#xff08;通信&#xff09;——仿真》 《信号类型&#xff08;通信&#xff09;——QAM调制信号》 《信号类型&#xff08;通信&#xff09;——QPSK、OQPSK、IJF_OQPSK调制信号》 《信号类型&#xff08;通信&#xff09;——最小频移键控&…

4.6-容器的端口映射

首先&#xff0c;我们来拉取Nginx的image镜像。 docker pull nginx 接下来我们创建一个Nginx的容器。 docker run --name nginx -d nginx 但是&#xff0c;这样启动nginx容器的话我们没法访问。这个时候怎么办呢&#xff1f;就需要将Nginx这个服务暴露给外面的世界。 这时可以使…

Docker本地部署Firefox火狐浏览器并远程访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

【JavaEE初阶】 详解HTTPS协议加密过程

文章目录 &#x1f334;HTTPS协议是什么&#xff1f;&#x1f384;运营商劫持事件&#x1f38b;HTTPS的工作过程&#x1f6a9;对称加密&#x1f6a9;非对称加密&#x1f6a9;引入证书&#x1f6a9;完整流程 &#x1f333;HTTPS加密总结⭕总结 &#x1f334;HTTPS协议是什么&…

2023年掌控安全学院CTF暖冬杯——数据流分析

前言&#xff1a;打工仔一枚&#xff0c;第一波上新的3题misc 做完了 再打ISCTF随便记录一下 PS&#xff1a;环境关了&#xff0c;题目描述忘记了&#xff0c;反正就是找flag。 筛选HTTP数据流 导出数据流慢慢看 ctrl F 搜flag 看到一条 有flag.txt 的数据 导出另存.zip 这里…

Jmeter之压力测试总结!

一、基本概念 1.线程组N&#xff1a;代表一定数量的并发用户&#xff0c;所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。 2.Ramp-Up Period(in seconds)&#xff1a;建立所有线程的周期&#xff0c;就是告诉jmeter要在多久没启动所有线程&#xff…

基数排序及利用数组简化解题

红豆不堪看&#xff0c;满眼相思泪 本文主要是帮助大家熟练掌握利用数组进行有关判断的题目&#xff0c;看完本文后在之后的刷题中都可以利用这种思想&#xff0c;当然举例中的题目利用该种方法可能不是最优解&#xff0c;但绝对是你看到题目不用思考太多就可以做出来的方法&am…

ESP32单片机案例

工具&#xff1a;VScode PlatformIO IDE 注&#xff1a;B站视频学习笔记。 1、继电器 1&#xff09;硬件电路 2&#xff09;程序 #include <Arduino.h> #define RELAY_PIN 15//初始化定时器 hw_timer_t *timer NULL;void timer_interrupt(){digitalWrite(RELAY_PIN…

文件中找TopK问题

目录 1.解题思路2.创建一个文件并在文件中写入数据3.为什么要建立小堆而不建立大堆&#xff1f;4.如何在现有的数据中建立适合的大堆&#xff1f;5.代码实现 1.解题思路 TopK问题即是在众多数据中找出前K大的值&#xff0c;则可以根据堆的性质来实现&#xff0c;但在使用堆之前…

敌手觊觎,核心研发项目源代码安全不可忽视!立即了解迅软DSE防泄密良策!

源代码作为企业的知识产权之一&#xff0c;也是企业的重要商业秘密&#xff0c;如果不慎被泄露可能会被竞争对手利用&#xff0c;对企业的业务和安全带来威胁以及不必要的法律风险。面对层出不穷的泄密事件&#xff0c;相关人员更应该提高对源代码的保护意识&#xff0c;加强企…

K歌利器-无线K歌麦克风模组-投影K歌解决方案

麦克风K歌模组是一种用于改善音频质量的麦克风系统&#xff1b;其发展可以追溯到20世纪50年代&#xff0c;如今&#xff0c;麦克风模组的技术发展已经非常成熟&#xff0c;可以提供更为优质的音频质量&#xff1b;支持多种不同的连接方式&#xff1b;可以在不同的设备上使用。 …

a-select:下拉组件实现筛选+远程搜索功能——基础积累

a-select:下拉组件实现筛选远程搜索功能——基础积累 效果图下拉筛选数据&#xff1a;远程搜索功能&#xff1a; 效果图 下拉筛选数据&#xff1a; <a-selectshow-searchv-model"form.jobPositionCode"placeholder"请选择岗位"style"width: 100%&q…

『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程

『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程 1 JDK安装部署1.1 JDK下载1.2 JDK配置 2 Jmeter安装部署2.1 Jmeter下载2.2 Jmeter安装2.3 Jmeter相关目录配置2.4 Jmeter启动配置2.5 检查并启动 3 Jmeter汉化3.1 临时修改3.2 永久修改 4 准备测…