Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168082 | 谢宗晋 | 二进制分类 | C++ | 通过 | 100 | 0 MS | 252 KB | 916 | 2024-08-19 22:18:30 |
#include <iostream> #include <vector> #include <string> using namespace std; // 函数:计算一个数的二进制表示中1和0的个数 pair<int, int> countOnesAndZeros(int num) { int ones = 0, zeros = 0; while (num > 0) { if (num % 2 == 1) ones++; else zeros++; num /= 2; } return {ones, zeros}; } // 函数:判断并统计A类和B类数的个数 pair<int, int> countABNumbers(int a, int b) { int countA = 0, countB = 0; for (int i = a; i <= b; ++i) { auto [ones, zeros] = countOnesAndZeros(i); if (ones > zeros) countA++; else countB++; } return {countA, countB}; } int main() { int a, b; cin >> a >> b; auto [countA, countB] = countABNumbers(a, b); cout << countA << " " << countB << endl; return 0; }