1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <cstdio> #include <cstdlib> #include <iostream> #include <vector> #include <algorithm> using namespace std;
int yihuo_find_KM(vector<int>& a,int& k,int& m) { int arr[32]; fill_n(arr,32,0); for(int i=0;i<a.size();i++) { for(int j=0;j<32;j++) { arr[j]+=((a[i]>>j) & 1); } } int ans = 0; for(int k=0;k<32;k++) { if(arr[k]%m != 0) { ans |= (1<<k); } } return ans; }
int main() { int ans=0,k=2,m=3; vector<int> vec1= {4, 4, 3, 3, 3, 6, 6, 6}; ans = yihuo_find_KM(vec1,k,m); printf("%d\n",ans); system("pause"); return 0; }
|