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;
}