求助(2023.12C++二级真题T5)
  • 板块学术版
  • 楼主GalaxyDeepLove
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/19 17:11
  • 上次更新2024/1/19 20:20:39
查看原帖
求助(2023.12C++二级真题T5)
744858
GalaxyDeepLove楼主2024/1/19 17:11

rt. 贴上我的代码:

#include <bits/stdc++.h>
#include <bitset> 
using namespace std;

int n, a;
int sum = 0;

int ten_to_2(int n, int a) {
	while(n!=0){
	    a = n%2;
		n/=2;
	}
	return a;
}

int main() {
	cin >> n;
	for(int i = 1; i <= n; i++) {
		string s;
		bitset<8> bit(ten_to_2(i, a));
		s = bit.to_string();
		int sum1 = 0, sum2 = 0;
		for(int x = 0; x < s.length(); x++) {
			if(s[x] == 1) sum1++;
			else if(s[x] == 0) sum2++;
		}
		if(sum1 > sum2) sum++;
	}
	cout << sum;
	return 0;
}
2024/1/19 17:11
加载中...