#include <iostream> #include <vector> #include <string> using namespace std; // 辅助函数用于分类每个数字 void classifyNumber(int num, vector<string>& result) { int one_count = 0; // 统计1的数量 int zero_count = 0; // 统计0的数量 int temp = num; // 计算1和0的数量 while (temp > 0) { if (temp & 1) { // 如果最低位是1 one_count++; } else { // 如果最低位是0 zero_count++; } temp >>= 1; // 右移一位以处理下一个比特位 } // 然后根据 one_count 和 zero_count 的奇偶性进行分类 bool is_one_number = (one_count % 2 == 0); bool is_zero_number = (zero_count % 2 == 0); if (is_one_number && is_zero_number) { result.push_back("10"); } else if (is_one_number) { result.push_back("1"); } else if (is_zero_number) { result.push_back("0"); } else { result.push_back("100"); } } int main() { int n; cin >> n; vector<string> results; int num; // 将变量定义在循环外 for (int i = 0; i < n; ++i) { cin >> num; classifyNumber(num, results); } // 使用 auto 来简化类型声明 for (const auto& r : results) { cout << r << " "; } cout << endl; return 0; }