2025 年 06 月 三级真题(2)--奇偶校验

【题目】

【解题思路】

这道题的核心问题是如何求出所有数据转换成二进制数据后包含的 1 的个数。我们知道十进制转二进制采用的的是"除2倒取余"的方法,也就是转换为的二进制数据实际就是由原数据不断的除以2,同时保留余数,最后将余数逆序输出得到。而本题并不需要得到实际的二进制数据,只需要得到二进制数据中 1 的个数,所有我们只需要判断每一次得到的余数是0还是1,如果是 1 就统计。

【代码】

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{

  int n;
  cin>>n;
  int a[n];
  int cnt=0;//统计1的个数
  int check;//校验码
  for(int i=0;i<n;i++)
  {  
    cin>>a[i];//输入一个数
    while(a[i]!=0)//求数转换为二进制之后,1的个数
    {
      if(a[i]%2==1)
        cnt++;
      a[i]/=2;//更新
    
    }
  }
  if(cnt%2==1)//如果1的个数为奇数个,则校验码为1
    check=1;
  else
    check=0;//否则校验码为0
  cout<<cnt<<" "<<check;
  
  return 0;
}
相关推荐
隔壁大炮4 分钟前
Day07-RNN介绍
人工智能·pytorch·rnn·深度学习·神经网络·算法·numpy
汉克老师29 分钟前
GESP2025年6月认证C++五级( 第一部分选择题(9-15))
c++·贪心算法·分治算法·二分算法·gesp5级·gesp五级·高精度除法
WL_Aurora32 分钟前
Python 算法基础篇之什么是算法
python·算法
墨染天姬39 分钟前
[AI]DeepSeek-R1的GRPO算法
人工智能·算法·php
D_C_tyu42 分钟前
JavaScript | 数独游戏核心算法实现
javascript·算法·游戏
qiqsevenqiqiqiqi43 分钟前
MT2048三连 暴力→数学推导→O (n) 优化
数据结构·c++·算法
ximu_polaris1 小时前
设计模式(C++)-行为型模式-模版方法模式
c++·设计模式
码之气三段.1 小时前
十五届山东ccpc省赛补题(update)
数据结构·c++·算法
AI科技星1 小时前
ELN 升级:π 级数自动生成器全域数理架构
大数据·人工智能·python·算法·金融
强盛机器学习~1 小时前
2026年SCI一区新算法-傅里叶变换优化算法(FTO)-公式原理详解与性能测评 Matlab代码免费获取
算法·matlab·进化计算·群体智能·傅里叶变换·元启发式算法