class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param arr intvector 
     * @param k int 
     * @return int
     */
    int foundOnceNumber(vector<int>& arr, int k) {
        // write code here
        //出现k次的数字每一位%k==0,如果%k!=0,那么这一位就是1
        /*
        101
        101
        101
        111
        ---
        414
        每一位余3
        111
        即只出现一次的数字
        */
        int res=0;
        for(int i=0;i<32;i++)//32位
        {
            int count=0;
            for(int j=0;j<arr.size();j++)//arr中所有数字在32位中每一位的累加和
            {
                if((arr[j]>>i)&1==1)
                    count++;
            }
            if(count%k!=0)
            {
                res=res|(1<<i);
            }
        }
        return res;
    }
};