C++实验——自幂数(数学黑洞你怕不怕)

GESP2023年6月 c++二级考试答案详解 第 10 题 如果a为char类型的变量,且a的值为’C’(已知’C’的ASCII码为67),则执行cout 2);如果用两个int类型的变量a和b分别表达平行四边形的两条边长,用int类型的变量h表达a边对应的高,则下列哪个表达式不能用来计算b边对应的高?第 5 题 如果a是double类型的变量,而且值为3.5,则表达式a * 10的计算结果为35,且结果类型为int。第 11 题 如果a和b均为int类型的变量,下列表达式能正确判断“a等于1且b等于1”的是(C) 阅读详情

何谓自幂数,即n位正整数,各位的n次幂相加还等于这个数本身。

n=1,称为独身,0~9均为自幂数;

n=2,没有自幂数;

n=3,水仙花数,如153;

n=4,四叶玫瑰数;

n=5,五角星数;

n=6,六合数;

n=7,北斗七星数;

n=8,八仙数;

n=9,九九重阳数。

这其实在深究上升到了数学黑洞的概念——对于数学黑洞,无论怎样设值,在规定的处理法则下,最终都将得到固定的一个值,再也跳不出去了,就像宇宙中的黑洞可以将任何物质,以及运行速度最快的光牢牢吸,不使它们逃脱一样。这就对密码的设值破解开辟了一个新的思路。

抛开玄奥的数学理论,自幂数的求解很有意思,尤其是对编程处理有启发意义,所以今天我来总结一下。

#include <iostream>
#include <cmath>
int main()
{
	using namespace std;
	int n; //表示数的位数
	int start, end; //表示n位数的起始值和终止值
	int m;//待分解各位的数,即待判断的数
	int digit;//某个数位的值
	int sum; //各位数的n次方的和
	int i; //循环变量,待检测的数
	cout << "求n位自幂数,请输入位数:\n";
	cin >> n;
	while (n>0)
	{
		start = pow(10, n - 1); //n位数的起始值
		end = pow(10, n) - 1;//n位数的终止值
		cout << n << " 位自幂数:";
		for (i = start; i <= end; i++)
		{
			m = i; //检测过程中m的值会改变,而i的值不变
			sum = 0;//检测前赋值0
			while (m != 0) //m开始为待检测的数
			{ //分离各位数字
				digit = m % 10;//取最低位数
				sum += pow(digit, n);
				m = m / 10;//去掉个位,刚才的十位成为新的各位
			}
			//上面的循环结束时sum就是各位数字的n次方的和
			if (sum == i) //逻辑表达式的值为true时,表示的是自幂数
			{
				cout << i << " "; //显示该数
			}
		}
		cout << endl;
		cout << "求n位自幂数,请输入位数:\n";//再输入一个n表示位数
		cin >> n;
	} //while循环
	cout << endl;
	return 0;
}

源代码如上所示。提供的思路:

1.如何分离各位数字;

2.如果计算会破坏或改变某个变量的值,而这个原始值在后面还是用到,需要额外声明一个变量来做破坏性试验;这实际是计算机科学中的一种“冗余”思想,要获得某种保障有意得使用更多的时间和空间。



GESP二级C++实战:自幂数判断算法解析与优化技巧 本文详细解析了GESP二级C++考试中的自幂数判断算法,包括基础实现、优化技巧和常见错误处理。通过预计算幂表和提前终止等优化方法,显著提升算法效率,适合备考CCF-GESP等级考试的C++学习者掌握核心编程技能。 阅读详情

相关推荐

自幂数(水仙花数).c

按照百度百科把水仙花数到九九重阳数都写了一遍,实现过程很简单,每一个自幂数程序都封装到函数了,直接调用即可输出。都是体力活,自己不想敲,需要就拿走吧。这个是免费的,如果看见积分涨了,私信我,我改回来。

自幂数<c++>

自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。输入一个位数未 知的非负整数,判断该数是否为自幂数。n的值为2的4次方,n的值为16。

on_morning_的博客 1168

NMOS管和PMOS管做开关控制电路

NMOS管和PMOS管做开关控制电路

while(1) 3万+

寻找那些神奇的自幂数---C语言

1. 什么是自幂数 ? 2.各种自幂数的美妙名称 3. 代码实现自幂数的寻找(详解) 1.什么是自幂数 ? 如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。 例如:在十进制中,153是一个三位数,各个数位的3次幂之和为1^3+5^3+3^3=153,所以153是十进制中的自幂数。 2. 各种自幂数的美妙名称 一位自幂数:独身数 两位自幂数:没有 三位自幂数:水仙花数 四位自幂数:四叶玫瑰数 五位自幂数:五角星数 六位自幂数:六合数...

m0_57105290的博客 2009

UVM环境复位--stop_sequences()

在UVM验证环境中, stop_sequences是一个用于强制终止所有正在运行的 Sequence 的方法,通常用于动态控制激励生成流程。1.通过uvm_config_db传递事件和严格的同步机制,此方案符适用于复杂复位场景和动态测试控制。组件耦合:Driver 和 Sequence 不再直接依赖env,通过标准接口通信。竞争条件:确保 Driver 完成清理后再终止 Sequence。代码健壮性:使用非阻塞操作和事件监听,避免死锁。

qq_42779035的博客 3016

linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

tun/tap设备是操作系统内核中的虚拟网络设备,是用软件模拟的网络设备,提供与硬件网络设备完全相同的功能。主要用于用户空间和内核空间传递报文。tun/tap对于硬件网络设备而言,一端连接的是物理网络,一端连接的是网络协议栈。对于tun/tap设备而言,一端连接的是应用程序(通过 字符设备文件),一端连接的是网络协议栈。

糖果墙的博客 6413

对数学黑洞的好奇

一.123黑洞 自己凑合敲了一下,没有敲100以下的

文轩 552

BLE天线设计避坑:NRF52832官方50欧姆阻抗匹配的3个常见误区

本文深入解析NRF52832蓝牙SoC天线设计中的常见误区,重点探讨50欧姆阻抗匹配的3个关键问题:PCB板材介电常数差异、匹配元件寄生参数及VSWR测试。通过实测数据和优化方案,帮助工程师规避设计陷阱,提升BLE通信性能。

beer8的博客 215

GESP C++二级编程题-2023年合集

摘要 本文整理了2023年GESP C++二级编程题目合集,包含5道典型编程题: 百鸡问题:扩展中国古代数学问题,计算给定预算和鸡的数量限制下的购买方案数。使用双重循环遍历所有可能组合,满足价格和数量条件即计数。 画三角形:根据输入数字n输出字母三角形,每行字母递增且循环使用A-Z。通过双重循环和字母计数器实现图案构建。 找素数:判断区间[A,B]内的素数数量。使用函数检查每个数是否为素数(仅被1和自身整除),统计满足条件的数。 自幂数判断:验证给定的数是否等于其各位数字的N次方之和(N为位数)。通过计算位

m0_48785154的博客 1133

2.ROS实用工具:坐标变换

本文围绕ROS坐标变换展开,介绍其在机器人系统中的关键作用,即统一不同传感器和执行器坐标系,服务数据融合等操作。基于ROS的tf库,从广播和监听TF变换两方面阐述实现过程,涵盖新建工作包、编写广播和监听代码、配置构建文件及编译等步骤。此外,介绍启动节点管理器后运行广播和监听节点的方法,并通过rqt_graph、rqt_tf_tree、tf_echo等工具可视化和获取坐标系变换信息。借助这些内容,读者不仅能掌握ROS坐标变换的实现,还能对机器人坐标变换系统的调试和理解有更深入认识 。

qq_74168740的博客 1173

FP7195升降压恒流驱动IC:从AC/DC 12~24V输入到稳定输出的高效电源设计实战

本文详细解析FP7195升降压恒流驱动IC的工作原理与应用实战。该芯片支持4.5V-32V宽输入范围,能自动切换升降压模式并保持输出恒定,特别适用于车载LED照明、工业电源等电压波动场景。通过实际案例分享PCB布局、元件选型及调试技巧,帮助工程师实现高效稳定的电源设计。

vodka的博客 955

【3的倍数各位立方和351和153水仙花数黑洞】2024-12-25

摘要:该代码实现了数字黑洞153的验证过程,通过计算任意整数的各位数字立方和,反复迭代直至结果为153,并记录所需步数。代码使用goto语句实现循环逻辑,每次分解数字并计算立方和,直到得到153为止,最后输出验证步数。这种数字特性被称为"水仙花数黑洞"或"153黑洞数"。

浤济的专栏 202

凝聚态物理新引擎:AI 驱动材料预测与相变识别大突破

摘要:本文深入探讨 AI 在凝聚态物理中的创新应用。在材料性质预测方面,AI 借助数据收集、特征提取和模型训练,能依据材料微观信息准确预估其宏观性质,以石墨烯为例验证了高效性。对于拓扑相变识别,AI 通过分析量子力学数据,利用机器学习算法判别相变节点,助力拓扑绝缘体研究。尽管面临数据质量、模型可解释性等挑战,但未来多模态数据融合、可解释 AI 等发展方向,将推动 AI 与凝聚态物理深度融合,助力探索物质奥秘与新材料研发。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1828

GESP二级C++考纲考点揭秘:揭秘高频考点与通关逻辑 | 适合所有初学者阅读

(注:包含提供的模拟/未来时间视角的真题)的真题试卷进行。这是二级考试中占比最重、难度最高的考点,覆盖了几乎所有。题和大部分高难度的阅读程序题。

CoderCoding的博客 509

海洋浮游生物识海洋浮游生物识别系统:基于YOLOv10的显微图像自动检测与UI别系统:基于海洋浮游生物识别系统:基于YOLOv10的显微图像自动检测与UI展示YOLOv10的显微图像自动检测与UI展示

本文介绍了如何利用YOLOv10模型进行海洋浮游生物的自动识别,旨在提高传统显微镜观测的效率与准确性。研究背景强调了浮游生物在海洋生态系统中的重要性,并指出传统方法的局限性。数据集选用WHOI-Plankton,包含70多种浮游生物的20000多张带标签图像。文章详细描述了YOLOv10模型的安装、数据集配置、训练与测试步骤,并提供了基于PyQt5的图形化检测界面代码。结果显示,模型在精度、召回率和mAP@0.5等指标上表现优异,推理速度达到约30 FPS。最后,文章提出了部署建议和未来优化方向,如集成摄像

YOLO 377

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

GESP2023年C++二级编程题 知识点+答案

大意为:“每只公鸡 5 元,每只母鸡 3 元,每 3 只小鸡 1 元;小明刚刚学习了素数的概念:如果一个大于 1 的正整数,除了1 和它自身外,不能被其他正整数整除,则这个正整数是素数。1634是 4 位数,其每位数的 4 次方之和,14+64+34+44=1634,因此1634 是自幂数。小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果每只公鸡 x 元,每只母鸡 y 元,每 z 只小鸡 1 元;每只公鸡 x 元,每只母鸡 y 元,每 z 只小鸡 1 元;例如,153是3位数,其每。

baby_dinosaur的博客 619

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

CCF-GESP计算机学会等级考试C++编程题目录及题解

持续更新中。。。。

长春高老师编程 5153

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《信息学奥赛一本通 编程启蒙C++版》3081 -- 3100

《信息学奥赛一本通 编程启蒙C++版》3081 -- 3100

青少年趣味编程 1167

GESP 一级至六级 样题与真题集(2022.11.11)

GESP 一级至六级 样题与真题集(2022.11.11)

青少年趣味编程 4372

算法编程题总结 C/C++

算法编程题总结 C/C++

m0_71927557的博客 841

自幂数

判断一个数是否为自幂数 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数) 自幂数包括:独身数、水仙花数、四叶玫瑰数、五角星数、六合数、北斗七星数、八仙数、九九重阳数、十全十美数。 题目要求: 输入一个整数,判断这个整数是否为自幂数。 #include<bits/stdc++.h> using namespace std; int main() { int x, sum =

m0_53546043的博客 3447

寻找自幂数(C++)

例:寻找自幂数 用户输入位数n,找出并显示出所有n位数的自幂数; 一个n位正整数,那个数字的各位数字的n次方求和还是这个数字呢?数学家称这样的数字为自幂数,也叫自恋数 代码如下: #include<iostream> #include<cmath> using namespace std; int main() { int n; //表示数的位数 int start,end; //n位数的起始值和终止值 int m; //待分解个位的数,即待判断的数 int digit;//某

Yangye_1018的博客 3116

CCF-GESP计算机学会等级考试2023年6月二级C++T2自幂数判断

提示:不需要等到所有输入结束在依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。= 153,因此 153 是自幂数;1634 是 4 位数,其每位数的 4 次方之和,例如,153 是 3 位数,其每位数的 3 次方之和,行,如果对应的待判断正整数为自幂数,则输出英文大写字母。现在,输入若干个正整数,请判断它们是否是自幂数。行,每行一个待判断的正整数。约定这些正整数均小于。= 1634,因此 1634 是自 幂数。'T',否则输出英文大写字母。输入第一行是一个正整数M。位数,满足各位数字N。

长春高老师编程 5168

洛谷 B3841 [GESP202306 二级] 自幂数判断

例如,153 是 3 位数,其每位数的 3 次方之和,1³+5³3+3³=153,因此 153 是自幂数;1634 是 4 位数,其每位数的 4 次方之和,1^4+6^4+3^4+4^4=1634,因此 1634 是自幂数。所以我们要求出输入数据的位数,再去做累乘的工作,然后累加,最后判断是否与原数相等。输出 M 行,如果对应的待判断正整数为自幂数,则输出英文大写字母 T,否则输出英文大写字母 F。

Michael-Shao的博客 4177

自幂数 C++ 代码进阶

以数字10为分阶线,前者十以内更小一点,可是我们连10位数都要跑好久,这样乍一看,还是要耗时好久,至少得个小半个小时。3.一旦幂次和(当前值+剩余次数*当前最大幂,有点难讲清楚,看代码吧)小于最小值,continue。自幂数最大位39,遍历是不可能的。根据性质,自幂数和数的大小与各个位数上的幂次和有关。还有就是cout没法输出那么大的数,也不知道最大时多少,反正30位是不可能的。从0~9每个数字在这个数中都可能出现0~n次,就是。次,但如果是遍历各个位数上的幂次和呢,就是。那么,肯定有疑问了,

LJPSDSG的博客 449

C++自幂数判断<GESP C++ 二级>

C++自幂数判断

mwssx的博客 1293
上一篇: C++实验——简易计算器(+-*/)
下一篇: C++实验——参赛歌手计算平均分问题:去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后成绩。这里假设共有10位评委,都是按照百分制打分。
量子象限
量子象限 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄9年 1万+粉丝 268原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子象限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值