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

        所谓水仙花数,是指一个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.mzph.cn/news/185464.shtml

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

相关文章

Java中四个元注解@Retention,@Target,@Inherited,@Documented

在 Java 中&#xff0c;有四个重要的元注解&#xff0c;它们分别是 Retention、Target、Inherited 和 Documented&#xff0c;它们用于对自定义注解进行修饰和说明。 元注解是用于定义注解的注解 Retention&#xff1a;Retention 用于指定注解的保留策略&#xff0c;即注解在代…

Docker自定义镜像

目录 回顾 镜像含义 DockerFile语法 自定义java项目镜像 创建一个空目录&#xff0c;在这个空目录中创建一个文件&#xff0c;命名为 DockerFile&#xff0c;将 java 项目打包成 jar 包&#xff0c;放到这个目录中 ​编辑 编写DockerFile文件信息 使用 docker build 构建…

Cesium 性能优化 - 学习笔记

1. Cesium 性能优化 - 学习笔记 开启FPS显示当前帧率 viewer.scene.debugShowFramesPerSecound true;关闭太阳&#xff0c;月亮&#xff0c;天空盒&#xff0c;雾等相关特效 viewer.scene.moon.show false; viewer.scene.fog.enabled false; viewer.scene.sun.show fals…

1. TiDB-Operator 备份到 Minio

创建minio s3 初始化minio minio server $HOME/operator/data --console-address :9090设置region为上海 创建tidb-operator备份CR 1.备份CR配置文件backup-s3.yaml信息 apiVersion: pingcap.com/v1alpha1 kind: Backup metadata:name: backup2s3-devnamespace: tidb-admi…

分享86个简历竞聘PPT,总有一款适合您

分享86个简历竞聘PPT&#xff0c;总有一款适合您 86个简历竞聘PPT下载链接&#xff1a;https://pan.baidu.com/s/130iX0EIH6J-PFzb6HcntcQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整…

【追求卓越10】算法--跳表

引导 在上一节中&#xff0c;我们学习到二分查找&#xff0c;惊叹于它超高的效率&#xff08;时间复杂度为O(logn)&#xff09;。但是二分查找有一个局限性就是依赖于数组&#xff0c;这就导致它应用并不广泛。 那么适用链表是否可以做到呢&#xff1f;答案是可以的。只不过要复…

【程序员的自我修养03】深入了解ELF文件格式

绪论 大家好&#xff0c;欢迎来到【程序员的自我修养】专栏。正如其专栏名&#xff0c;本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度&#xff0c;我会尽自己最大的努力&#xff0c;争取…

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现

一、前言&#xff1a; 这个项目主要分为两部分&#xff0c;客户端&#xff08;ARM板端&#xff09;负责利用OpenCV采集人脸数据&#xff0c;利用TCP将人脸数据发送给服务器&#xff0c;然后服务器根据人脸数据进行人脸识别&#xff0c;将识别后的结果返还给客户端&#xff0c;客…

请大数据把奥威BI分析工具推给每一个财务!

这个财务指标怎么算&#xff1f;那些数据什么时候能拿到&#xff1f;看完报表&#xff0c;发现某部门上个月的支出涨幅过大&#xff0c;想了解原因怎么办&#xff1f;……财务人&#xff0c;你是不是每个月都把时间消耗在这些事情上了&#xff1f;那你可得快接住这个BI大数据分…

[个人笔记] Apache2.4配置TLS1.3安装openssl1.1.1

Linux - 运维篇 第二章 Apache2.4配置TLS1.3&安装openssl1.1.1 Linux - 运维篇系列文章回顾Apache2.4配置TLS1.3&安装openssl1.1.1参考来源 系列文章回顾 第一章 php-fpm编译和使用openssl扩展 Apache2.4配置TLS1.3&安装openssl1.1.1 [rootlocalhost ~]# yum ins…

网站文章采集软件大盘点

在信息时代&#xff0c;随着互联网的不断发展和普及&#xff0c;获取、整理和利用海量信息成为各行业的共同挑战。在这个背景下&#xff0c;网站文章采集技术应运而生&#xff0c;成为满足信息需求的重要工具。本文将对网站文章采集及其相关软件进行深入探讨&#xff0c;为读者…

@Openssh【7.x升级9.0版(Centos7.9,rpm)】

文章目录 1.版本查看2.配置备份3.软件包openssh9.0下载4.升级openssh9.0版本5.配置备份恢复6.服务器启动验证及问题排查 1.版本查看 #系统版本 [rootHZLOPENSSHTEST ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)#openssh版本 [rootHZLOPENSSHTEST ~]# r…

Linux文件截断命令(truncate head tail dd)

目录 一、truncate功能概述实例&#xff08;可用于删除文件末尾指定大小的内容&#xff09; 二、head功能概述实例&#xff08;可用于删除文件末尾指定大小的内容&#xff09; 三、tail功能概述&#xff1a;实例&#xff08;可用于删除文件开头指定大小的内容&#xff09; 四、…

Golang语言基础之切片

概述 数组的长度是固定的并且数组长度属于类型的一部分&#xff0c;所以数组有很多的局限性 func arraySum(x [3]int) int{sum : 0for _, v : range x{sum sum v}return sum } 这个求和函数只能接受 [3]int 类型&#xff0c;其他的都不支持。 切片 切片&#xff08;Slic…

virustotal的使用

www.virustotal.com是一个恶意代码扫描网站&#xff0c;提交时需要验证码。 该网站有近百个病毒引擎的支持。 该网站最有用的地方在于&#xff0c;这是一个交互式的恶意代码检测网站&#xff0c;这样的模式有一个隐形的福利&#xff0c;那就是为病毒木马爱好者提供了攻防一体…

市面上这么多SD-WAN服务商,究竟有何不同?

随着数字化浪潮的不断发展&#xff0c;企业网络已经成为了现代企业中不可缺少的一部分。而提供企业组网服务的SD-WAN服务商也呈现出快速增长的趋势。但是&#xff0c;市场上有这么多SD-WAN服务商&#xff0c;各个服务商技术实现方案非常相似&#xff0c;那么这些服务商之间到底…

人工智能驱动的医疗辅助:陪诊系统的技术原理与应用

随着人工智能技术的不断发展&#xff0c;医疗领域也迎来了新的可能性。本文将深入探讨陪诊系统的技术原理及其在医疗领域中的应用。我们将重点关注人工智能的核心概念&#xff0c;如自然语言处理、机器学习和语音识别&#xff0c;以解释陪诊系统是如何在医疗环境中发挥作用的。…

配置spring boot3后redis NOAUTH Authentication required

升级到spring boot3之后&#xff0c;redis报错 redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required检查完密码之后都没有问题&#xff0c;后来发现是配置的原因。 在application.properties配置文件里 加上.data 原来是spring.redis.passwor…

html5各行各业官网模板源码下载(1)

文章目录 1.来源2.源码模板2.1 HTML5白色简洁设计师网站模板 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/134682321 html5各行各业官网模板源码下载&#xff0c;这个主题覆盖各行业的html官网模板&#xff0c;效果模…

图解Redis适用场景

Redis以其速度而闻名。 1 业务数据缓存 1.1 通用数据缓存 string&#xff0c;int&#xff0c;list&#xff0c;map。Redis 最常见的用例是缓存对象以加速 Web 应用程序。 此用例中&#xff0c;Redis 将频繁请求的数据存储在内存。允许 Web 服务器快速返回频繁访问的数据。这…