当前位置: 首页 > news >正文

【C语言】案例:输出n位水仙花数

1.题目

输入一个整数n,输出所有n位的水仙花数

2.代码

#include <stdio.h>
#include <math.h>// 计算数字的位数
int countDigits(int num) {int count = 0;while (num != 0) {num /= 10;count++;}return count;
}// 计算水仙花数
void findNarcissisticNumbers(int n) {int start = pow(10, n - 1);int end = pow(10, n);for (int i = start; i < end; i++) {int num = i;int sum = 0;// 计算每位数字的 n 次幂之和while (num != 0) {int digit = num % 10;sum += pow(digit, n);num /= 10;}// 如果和等于原数,即为水仙花数if (sum == i) {printf("%d\n", i);}}
}int main() {int n;// 输入 nprintf("输入一个整数 n:");scanf_s("%d", &n);// 输出所有 n 位的水仙花数printf("%d 位的水仙花数有:\n", n);findNarcissisticNumbers(n);return 0;
}

3.解析

1.main 函数是程序的入口。首先,它通过 printf 提示用户输入一个整数 n,然后使用 scanf 获取用户输入的值。接着,它调用 findNarcissisticNumbers 函数,输出所有n位的水仙花数。

2.函数 findNarcissisticNumbers 用于寻找所有n位的水仙花数。它通过迭代从 start 到 end 的范围内的所有数字,计算每个数字各个位上的数字的n次幂之和,如果和等于原数字,则该数字是水仙花数。找到水仙花数后,使用 printf 输出到控制台。

3.函数 countDigits 用于计算一个整数的位数。它通过不断将数字除以10,直到数字变为0,来统计数字的位数。

相关文章:

  • Python学习路线 - Python高阶技巧 - PySpark案例实战
  • Java Jackson库使用教程
  • 1.0 Zookeeper 分布式配置服务教程
  • 性能实测:分布式存储 ZBS 与集中式存储 HDS 在 Oracle 数据库场景表现如何
  • 【数据分享】1929-2023年全球站点的逐月平均风速(Shp\Excel\免费获取)
  • powershell 接收一个端口udp数据复制转发到多个目的
  • 【Linux】线程池线程安全的单例模式和STL读者写者问题
  • l + r >> 1; 的含义
  • Python入门:常用模块—os模块及sys模块
  • 探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战
  • 服务器与电脑的区别?
  • Conda历史版本下载地址和python对应关系
  • 【C#】.net core 6.0 创建默认Web应用,以及默认结构讲解,适合初学者
  • 飞天使-k8s知识点14-kubernetes散装知识点3-Service与Ingress服务发现控制器
  • 【数据结构】链表OJ面试题4(题库+解析)
  • 网络传输文件的问题
  • [PHP内核探索]PHP中的哈希表
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • angular2 简述
  • C学习-枚举(九)
  • PAT A1017 优先队列
  • php面试题 汇集2
  • vagrant 添加本地 box 安装 laravel homestead
  • vue-loader 源码解析系列之 selector
  • Zepto.js源码学习之二
  • 给github项目添加CI badge
  • 关于字符编码你应该知道的事情
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 使用权重正则化较少模型过拟合
  • 移动端 h5开发相关内容总结(三)
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #数学建模# 线性规划问题的Matlab求解
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.ajax()
  • $L^p$ 调和函数恒为零
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (四) 虚拟摄像头vivi体验
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET 事件模型教程(二)
  • .net(C#)中String.Format如何使用
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [android]-如何在向服务器发送request时附加已保存的cookie数据