【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,来统计数字的位数。
相关文章:
【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 findNarcissisticNu…...
代码随想录算法训练营第四十六天(动态规划篇)|01背包(滚动数组方法)
01背包(滚动数组方法) 学习资料:代码随想录 (programmercarl.com) 题目链接(和上次一样):题目页面 (kamacoder.com) 思路 使用一维滚动数组代替二维数组。二维数组的解法记录在:代码随想录算…...
【QT+QGIS跨平台编译】之三十:【NetCDF+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
文章目录 一、NetCDF介绍二、文件下载三、文件分析四、pro文件4.1 netcdf34.2 netcdf44.3 netcdf五、编译实践一、NetCDF介绍 NetCDF(Network Common Data Form)是一种用于存储和处理科学数据的文件格式和库。它提供了一种自描述、可移植和可扩展的方式来组织多维数据,并支…...
从0开始图形学(光栅化)
前言 说起图形学,很多人就会提到OpenGL,但其实两者并不是同一个东西。引入了OpenGL加重了学习的难度和成本,使得一些原理并不直观。可能你知道向量,矩阵,纹理,重心坐标等概念,但就是不知道这些概…...
B站弹幕分析系统
视频展示,请点击。 尚硅谷案例 utllib的基本使用 # 使用urllib来获取百度首页的源码 import urllib.request# (1)定义一个url 就是你要访问的地址 url http://www.baidu.com# (2)模拟浏览器先服务器发送请求 response响应 response urllib.request.urlopen(url)…...
戴上HUAWEI WATCH GT 4,解锁龙年新玩法
春节将至,华为WATCH GT 4作为一款颜值和实力并存的手表,能为节日增添了不少趣味和便利。无论你是钟情于龙年表盘或定制属于自己的表盘,还是过年用来抢红包或远程操控手机拍全家福等等,它都能成为你的“玩伴”。接下来,…...
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、StepperItem组件 用作Stepper组件的页面子组件。 子组件 无。 接口 St…...
2024-02-08 Unity 编辑器开发之编辑器拓展1 —— 自定义菜单栏与窗口
文章目录 1 特殊文件夹 Editor2 在 Unity 菜单栏中添加自定义页签3 在 Hierarchy 窗口中添加自定义页签4 在 Project 窗口中添加自定义页签5 在菜单栏的 Component 菜单添加脚本6 在 Inspector 为脚本右键添加菜单7 加入快捷键8 小结 1 特殊文件夹 Editor Editor 文件夹是 …...
Intellij IDEA各种调试+开发中常见bug
Intellij IDEA中使用好Debug,主要包括如下内容: 一、Debug开篇 ①、以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 ②、断点:在左边行…...
文件上传-Webshell
Webshell简介 webshell就是以aspphpjsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页木马后门。 攻击者可通过这种网页后门获得网站服务器操作权限,控制网站服务器以进行上传下载文件、查看数据库、执行命令等… 什么是木马 …...
掌握虚拟化与网络配置之道:深入浅出VMware及远程管理技巧
目录 虚拟机介绍 虚拟机的关键字 服务器架构的发展 为什么用虚拟机VMware 虚拟机和阿里云的区别 功能角度 价格因素 应用场景 优势方面 找到windows的服务管理 配置VMware 关于VMware安装的几个服务 vmware如何修改各种网络配置 关于NAT的详细信息(了解) NAT(网…...
【漏洞复现】狮子鱼CMS某SQL注入漏洞
Nx01 产品简介 狮子鱼CMS(Content Management System)是一种网站管理系统,它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能,包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面…...
Python学习之路-Tornado基础:安全应用
Python学习之路-Tornado基础:安全应用 Cookie 对于RequestHandler,除了在初始Tornado中讲到的之外,还提供了操作cookie的方法。 设置 set_cookie(name, value, domainNone, expiresNone, path‘/’, expires_daysNone) 参数说明: 参数名…...
6.0 Zookeeper session 基本原理详解教程
客户端与服务端之间的连接是基于 TCP 长连接,client 端连接 server 端默认的 2181 端口,也就 是 session 会话。 从第一次连接建立开始,客户端开始会话的生命周期,客户端向服务端的ping包请求,每个会话都可以设置一个…...
生成式人工智能攻击的一年:2024
趋势科技最近公布了其关于预期最危险威胁的年度研究数据。生成人工智能的广泛可用性和质量将是网络钓鱼攻击和策略发生巨大变化的主要原因。 趋势科技宣布推出“关键可扩展性”,这是著名年度研究的新版本,该研究分析了安全形势并提出了全年将肆虐的网络…...
K8S之Namespace的介绍和使用
Namespace的理论和实操 Namespace理论说明Namespace实操创建、查看命名空间使用ResouceQuota 对Namespace做资源限额更多ResouceQuota 的使用 Namespace理论说明 命名空间定义 K8s支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间&…...
封装sku组件
1. 准备模板渲染规格数据 使用Vite快速创建一个Vue项目,在项目中添加请求插件axios,然后新增一个SKU组件,在根组件中把它渲染出来,下面是规格内容的基础模板 <script setup> import { onMounted, ref } from vue import axi…...
Unity笔记:相机移动
基础知识 鼠标输入 在Unity中,开发者在“Edit” > “Project Settings” > “Input Manager”中设置输入,如下图所示: 在设置了Mouse X后,Input.GetAxis("Mouse X")返回的是鼠标在X轴上的增量值。这意味着它会…...
Java项目管理01-Maven基础
一、Maven的常用命令和生命周期 1.Maven的常用命令使用方式 complie:编译,将java文件编译为class字节码文件 clean:清理,删除字节码文件 test:测试,运行项目中的test类 package:打包&#x…...
计算机网络(第六版)复习提纲30
B HTTP 名词解释:协议HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传给浏览器。从层次的角度看,HTTP是面向事务的应用层协议,它是万维网上可靠地交换文件的重要基础,不仅能够传送完成超文本…...
Nomic-Embed-Text-V2-MoE赋能Python爬虫:智能内容分析与去重
Nomic-Embed-Text-V2-MoE赋能Python爬虫:智能内容分析与去重 你是不是也遇到过这样的烦恼?写了个Python爬虫,吭哧吭哧爬了几万条新闻或者商品信息,结果发现里面一大堆内容都是重复的,或者只是换了个说法。用关键词去重…...
Audio Flamingo 3:打破模态壁垒的音频智能突破性技术解析
Audio Flamingo 3:打破模态壁垒的音频智能突破性技术解析 【免费下载链接】audio-flamingo-3 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/audio-flamingo-3 在音频AI领域面临"模态孤岛"困境与长音频理解需求激增的双重挑战下࿰…...
面试官:MySQL 唯一索引和主键索引的区别?(修订版)
在线 Java 面试刷题(持续更新):https://www.quanxiaoha.com/java-interview面试考察点索引类型理解:面试官不仅仅是想知道 "有什么区别",更是想考察你是否理解主键索引(聚簇索引)和唯…...
Kimi-VL-A3B-Thinking企业部署:多租户隔离+权限控制+使用统计看板
Kimi-VL-A3B-Thinking企业部署:多租户隔离权限控制使用统计看板 1. 企业级部署方案概述 Kimi-VL-A3B-Thinking作为一款高效的多模态视觉语言模型,在企业环境中部署需要解决三个核心问题:多租户隔离、权限精细控制和使用情况可视化监控。本方…...
复调制频谱细化(Zoom-FFT)保姆级教程:从原理到MATLAB代码逐行解析
复调制频谱细化(Zoom-FFT)全流程实战:从数学推导到MATLAB工程实现 频谱分析是数字信号处理的核心技术之一,但在实际工程中常会遇到密集频谱难以分辨的困境。想象一下,当你面对一组间距仅2Hz的50Hz工频谐波,…...
CocosCreator 3.x 实战:用碰撞组件做个‘切水果’小游戏(附完整源码)
CocosCreator 3.x 实战:用碰撞组件打造切水果游戏全流程 想象一下,当你用手指划过屏幕,水果应声而裂,汁水四溅,分数随之飙升——这就是我们要用CocosCreator 3.x实现的切水果游戏。不同于枯燥的理论讲解,我…...
告别Windows AI困扰:RemoveWindowsAI实现系统隐私与性能双重优化
告别Windows AI困扰:RemoveWindowsAI实现系统隐私与性能双重优化 【免费下载链接】RemoveWindowsAI Force Remove Copilot and Recall in Windows 项目地址: https://gitcode.com/GitHub_Trending/re/RemoveWindowsAI 在数字化办公环境中,Windows…...
LoRa通信实战:手把手教你用Matlab仿真Chirp扩频信号(附完整代码)
LoRa通信实战:手把手教你用Matlab仿真Chirp扩频信号(附完整代码) 在物联网设备爆炸式增长的今天,低功耗广域网络(LPWAN)技术正成为连接万物的关键纽带。作为LPWAN的代表性技术之一,LoRa凭借其卓越的穿透能力和超远传输…...
AI英语单词APP的开发
与口语APP强调“实时交互”不同,AI英语单词APP的核心逻辑在于“记忆科学与生成式内容的深度融合”。在2026年,开发重点已从单纯的“数字化单词书”转向“千人千面的动态语境构建”。1. 核心技术架构与链路语义向量引擎 (Vector Embeddings): …...
YOLOv11n模型用Ultralytics官方工具转ncnn后,C++推理代码怎么改?附完整修改版
YOLOv11n模型Ultralytics转ncnn后的C推理代码改造指南 当你在移动端部署YOLOv11n模型时,如果采用Ultralytics官方工具导出ncnn格式,会遇到与ncnn官方示例代码不兼容的情况。这种差异主要源于模型输出结构的改变,需要针对性调整C推理代码的逻辑…...
