#include #define endl '\n' using namespace std; int n, num; int s[100]; string str = "01"; // 10进制转换成 2进制 string f(int n){ if(n == 0) return "0"; string re = ""; while(n > 0){ int g = n % 2; re = str[g] + re; n /= 2; } return re; } int main(){ cin >> n; int maxx = 0; for(int i = 1; i <= n; i++){ cin >> num; string curr = f(num); int len = curr.size(); int idx = 0; for(int j = len - 1; j >= 0; j--){ char c = curr[j]; if(c == '1'){ s[idx]++; } idx++; } maxx = max(maxx, idx); // 统计最长字符串 // cout << "当前这个数二进制是" << curr << " " << idx << endl; } int cnt = 0; for(int i = 0; i < maxx; i++){ if(s[i] == n) { cnt++; } } cout << cnt; return 0; }