洛谷 B4358:[GESP202506 三级] 奇偶校验 ← 位运算
【题目来源】https://www.luogu.com.cn/problem/B4358【题目描述】数据在传输过程中可能出错因此接收方收到数据后通常会校验传输的数据是否正确奇偶校验是经典的校验方式之一。给定 n 个非负整数 c1,c2,…,cn 代表所传输的数据它们的校验码取决于这些整数在二进制下 1 的数量之和的奇偶性。如果这些整数在二进制下共有奇数个 1那么校验码为 1否则校验码为 0。你能求出这些整数的校验码吗【输入格式】第一行一个正整数 n表示所传输的数据量。第二行n 个非负整数 c1, c2, …, cn表示所传输的数据。【输出格式】输出一行两个整数以一个空格分隔第一个整数表示 c1c2...cn 在二进制下 1 的总数量第二个整数表示校验码0 或 1。【输入样例】471 69 83 80【输出样例】13 1【数据范围】对于所有测试点保证 1≤n≤1000≤ci≤255。【算法分析】GESP C 三级必考的“位运算 循环计数”基础题。【算法代码】#include bits/stdc.h using namespace std; int main() { int n,x,cnt0; cinn; for(int i1; in; i) { int x; cinx; while(x) { cntx1; x1; } } coutcnt (cnt1); return 0; } /* in: 4 71 69 83 80 out: 13 1 */【参考文献】https://gesp.ccf.org.cn/101/attach/1699464809021472.pdfhttps://www.luogu.com.cn/problem/solution/B4359
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2624506.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!