news 2026/4/16 17:22:49

GESP2024年3月认证C++三级( 第三部分编程题(2、完全平方数)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP2024年3月认证C++三级( 第三部分编程题(2、完全平方数)


一、🏰 故事开始:魔法数字宝箱

小杨同学有一排数字宝石:

1 4 3 3 5

他想从里面任选两个宝石,看看它们相加后,是不是一种神奇数字:

✨ 完全平方数


二、🎯 什么叫完全平方数?

就是某个整数自己乘自己得到的数。

例如:

1 = 1×1 4 = 2×2 9 = 3×3 16 = 4×4 25 = 5×5

这些都叫完全平方数!


三、🎯 任务

1、统计有多少对数字:

i < j

满足:

a[i] + a[j]

是完全平方数!


2、🌰 样例输入

5 1 4 3 3 5

3、🧙‍♂️ 数字配对大冒险

数组位置:

1 4 3 3 5

我们每次选两个数!


4、🔍 全部组合检查


① 1 + 4 = 5

不是平方数 ❌


② 1 + 3 = 4

是平方数 ✅


③ 1 + 3 = 4

是平方数 ✅


④ 1 + 5 = 6

不是 ❌


⑤ 4 + 3 = 7

不是 ❌


⑥ 4 + 3 = 7

不是 ❌


⑦ 4 + 5 = 9

是平方数 ✅


⑧ 3 + 3 = 6

不是 ❌


⑨ 3 + 5 = 8

不是 ❌


⑩ 3 + 5 = 8

不是 ❌


5、🎉 一共找到:

3 对

6、✅ 输出

3

四、🧠 解题思路(像机器人巡逻)

我们要检查所有两两组合。


🚶 第一步:输入数字

int n; cin >> n;

🚶 第二步:存进数组

int a[1010];

🚶 第三步:双重循环找组合

外层选第一个数:

for(int i=1;i<=n;i++)

内层选第二个数:

for(int j=i+1;j<=n;j++)

这样就不会重复!


🔍 第四步:判断是不是平方数

先求和:

m = a[i] + a[j];

再开平方:

t = sqrt(m);

如果:

t*t == m

说明它是完全平方数!


五、🎁 参考程序

#include<iostream> #include<cmath> using namespace std; int main() { int n; cin >> n; int a[1010]; for(int i = 1; i <= n; i++) cin >> a[i]; int ans = 0; for(int i = 1; i <= n; i++) { for(int j = i + 1; j <= n; j++) { int m = a[i] + a[j]; int t = sqrt(m); if(t * t == m) ans++; } } cout << ans << endl; return 0; }

六、🎮 运行演示

输入:

4 2 7 9 0

检查:

2+7=9 ✅ 2+9=11 ❌ 2+0=2 ❌ 7+9=16 ✅ 7+0=7 ❌ 9+0=9 ✅

输出:

3

七、🏆 本题考点


1、✅ 数组存数据

int a[];

2、✅ 双重循环枚举组合

for + for

3、✅ sqrt 开平方

sqrt(9)=3

4、✅ 判断平方数技巧

t*t==m

5、🌟 为什么 j=i+1?

因为:

(1,4)

(4,1)

是同一对,不重复算!


八、🎉 总结

这题就是:

👉 选两个数
👉 求和
👉 判断是不是平方数
👉 统计数量


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 17:18:45

【通信】面对大规模机器通信的稀疏码多址接入系统附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/4/16 17:18:19

如何快速集成Hanzi Writer:10分钟上手汉字动画教程

如何快速集成Hanzi Writer&#xff1a;10分钟上手汉字动画教程 【免费下载链接】hanzi-writer Chinese character stroke order animations and practice quizzes 项目地址: https://gitcode.com/gh_mirrors/ha/hanzi-writer Hanzi Writer是一款专注于汉字笔画顺序动画和…

作者头像 李华
网站建设 2026/4/16 17:18:19

香港大学HKU CS MSc 面试全解析:从笔试到群面的实战经验(20fall)

1. 香港大学CS MSc面试全流程解析 作为20fall的申请者&#xff0c;我完整经历了香港大学计算机科学硕士项目的选拔过程。整个流程分为笔试和面试两个环节&#xff0c;全程约2小时。先说个有趣的发现&#xff1a;笔试房间的温度特别低&#xff0c;建议后来者带件外套&#xff0c…

作者头像 李华
网站建设 2026/4/16 17:17:02

5步掌握PiliPlus:开源B站客户端的极致跨平台体验

5步掌握PiliPlus&#xff1a;开源B站客户端的极致跨平台体验 【免费下载链接】PiliPlus PiliPlus 项目地址: https://gitcode.com/gh_mirrors/pi/PiliPlus PiliPlus是一款基于Flutter开发的跨平台B站第三方客户端&#xff0c;支持Windows、macOS、Linux、Android和iOS五…

作者头像 李华
网站建设 2026/4/16 17:16:18

矿板EBAZ4205之SD卡启动全流程实战

1. 矿板EBAZ4205硬件改造指南 这块售价仅30多元的矿板EBAZ4205&#xff0c;搭载Xilinx Zynq-7010芯片&#xff0c;性价比极高。但原设计主要用于挖矿&#xff0c;需要经过三项关键硬件改造才能实现SD卡启动功能。 首先是供电改造。板载的J4接口需要短接D24电阻来实现5V供电&…

作者头像 李华
网站建设 2026/4/16 17:12:22

终极指南:如何用Chrome扩展一键捕获完整网页截图?

终极指南&#xff1a;如何用Chrome扩展一键捕获完整网页截图&#xff1f; 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-chrom…

作者头像 李华