news 2026/5/21 11:02:02

GESP2025年6月认证C++三级( 第三部分编程题(1、奇偶校验)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP2025年6月认证C++三级( 第三部分编程题(1、奇偶校验)


🌟《奇偶校验大冒险》


🎯 一、故事背景

1、在“数据王国”里,所有信息都会变成二进制传输:

例如:数字 5 → 101

2、👑国王布置了任务:

“数据在路上传输后要汇报一共有几个1,而且要知道是奇数个1还是偶数个”


🧠 二、规则讲解

1、📜规则

👉统计所有数字中:

二进制里“1”的总个数

2、然后判断:

  • 如果是奇数个1 → 输出校验码 = 1

  • 如果是偶数个1 → 输出校验码 = 0


🌈 三、举个完整例子

1、🎯输入

3 5 3 2

2、🧩 第一步:变成二进制

数字二进制1的个数
51012
3112
2101

3、🧩 第二步:统计总数

2 + 2 + 1 = 5

4、🧩 第三步:判断奇偶

5 是奇数 → 输出校验码 = 1

5、🎯输出

5 1

🧠 四、核心算法

1、我们要做三件事:


🥇步骤1:读入数据

cin >> n;

🥈步骤2:一个一个处理数字

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

🥉步骤3:数每个数字里的“1”

👉关键技巧来了!

while(x > 0) { count += (x & 1); x >>= 1; }

2、🌟重点解释!

(1)🧩 (x & 1) 是什么?

👉取最后一位!

6 = 110 → 最后一位是0 5 = 101 → 最后一位是1

(2)🧩 x >>= 1 是什么?

👉右移一位(去掉最后一位)

101 → 10 → 1 → 0

🎯 五、完整代码

#include <iostream> using namespace std; int main() { int n; cin >> n; int total = 0; // 记录所有1的数量 for(int i = 0; i < n; i++) { int x; cin >> x; // 统计x中1的个数 while(x > 0) { total += (x & 1); // 看最后一位是不是1 x >>= 1; // 去掉最后一位 } } // 输出总数 和 校验码 cout << total << " " << (total % 2) << endl; return 0; }

🌈 六、再来一个例子

1、🎯输入

4 1 2 4 8

2、🧠分析

1 → 1 → 1个1 2 → 10 → 1个1 4 → 100 → 1个1 8 → 1000 → 1个1

3、👉总数:

1+1+1+1 = 4

👉校验码:

4 是偶数 → 0

4、🎯输出

4 0

🎉 七、总结

统计所有1, 循环右移算; 最后看奇偶, 校验就完成!

🚀 八、进阶小技巧

👉更快的方法(C++内置):

__builtin_popcount(x)

👉直接统计1的个数!


🎯 最后一句话总结

👉这题本质就是:

统计所有数字的二进制中“1”的总个数!

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

nvme-cli技术深度解析:现代NVMe存储管理实战完全指南

nvme-cli技术深度解析&#xff1a;现代NVMe存储管理实战完全指南 【免费下载链接】nvme-cli NVMe management command line interface. 项目地址: https://gitcode.com/gh_mirrors/nv/nvme-cli 在当今数据密集型应用架构中&#xff0c;NVMe存储设备已成为高性能计算、云…

作者头像 李华
网站建设 2026/4/1 20:33:37

保姆级教程:在PX4 SITL仿真中为Iris无人机挂载Kinect、RPLidar和FPV摄像头

PX4仿真环境多传感器集成实战&#xff1a;从零搭建SLAM无人机开发平台 无人机仿真开发中最令人头疼的&#xff0c;莫过于将各类传感器完美集成到飞行平台上。我曾花了整整两周时间调试Kinect和RPLidar在Gazebo中的兼容性问题&#xff0c;直到找到这套经过验证的解决方案。本文将…

作者头像 李华
网站建设 2026/4/1 20:31:08

高效论文降重方案:TOP10平台功能对比与选择建议

【CSDN 独家首发 / 2026届硬核学术扫盲】 还在迷信“中英互译”或者“同义词替换”&#xff1f;醒醒吧&#xff0c;2026年知网和万方的查重底层算法早就变天了。现在的教务处不是查你“字长得像不像”&#xff0c;而是用交叉注意力机制查你“是不是机器生成的”。本期评测&…

作者头像 李华