洛谷 B4358:[GESP202506 三级] 奇偶校验 ← 位运算
【题目来源】
【题目描述】
数据在传输过程中可能出错,因此接收方收到数据后通常会校验传输的数据是否正确,奇偶校验是经典的校验方式之一。
给定 n 个非负整数 c1,c2,…,cn 代表所传输的数据,它们的校验码取决于这些整数在二进制下 1 的数量之和的奇偶性。如果这些整数在二进制下共有奇数个 1,那么校验码为 1;否则校验码为 0。你能求出这些整数的校验码吗?
【输入格式】
第一行,一个正整数 n,表示所传输的数据量。
第二行,n 个非负整数 c1, c2, …, cn,表示所传输的数据。
【输出格式】
输出一行,两个整数,以一个空格分隔:
第一个整数表示 c1,c2,...,cn 在二进制下 1 的总数量;
第二个整数表示校验码(0 或 1)。
【输入样例】
4
71 69 83 80
【输出样例】
13 1
【数据范围】
对于所有测试点,保证 1≤n≤100,0≤ci≤255。
【算法分析】
GESP C++ 三级 必考的“位运算 + 循环计数”基础题。
【算法代码】
【参考文献】

浙公网安备 33010602011771号