题解 | #奇偶校验#

奇偶校验

http://www.nowcoder.com/practice/729d11d043d8448e83befa1410b694fe

#include<iostream>
using namespace std;
#include<string>
#include<algorithm>
//转成二进制
string trans(int n) {
	if (n == 0)return "0";
	string res;
	while (n != 0) {
		res += (n % 2) + '0';
		n /= 2;
	}
	reverse(res.begin(), res.end());
	while (res.size() < 8) {
		res.insert(0, 1,'0');
	}
	return res;
}
int main() {
	string input;
	while (cin >> input) {
		for (int i = 0; i < input.size(); i++) {
			string s = trans(input[i]);
			int count = 0;
			for (int i = 1; i < 8; i++) {
				if (s[i] == '1')count++;
			}
			if (count % 2 == 0) {
				s[0] = '1';
			}
			else {
				s[0] = '0';
			}
			cout << s << endl;
		}
	}

	return 0;
}
全部评论

相关推荐

迷茫的大四🐶:看来已经准备换人了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务