/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* sortByBits(int* arr, int arrSize, int* returnSize){
int ans=0;
int *ret=(int *)malloc(sizeof(int )*arrSize);
for(int i=1;i<arrSize;++i){
while(arrSize){
arr[i]&=arr[i-1];
ans++;
arrSize--;
}
}
*returnSize=arrSize;
return ret;
}
int zhishu(int n){
if(n==1){
return false;
}
for(int i=2;i<=n/i;++i){
if(n%i==0){
return false;
break;
}
}
return true;
}
int numOne(int n){
int ans=0;
while(n){
n&=(n-1);
ans++;
}
return ans;
}
int countPrimeSetBits(int left, int right){
int sum=0;
for(int i=left;i<=right;++i){
if(zhishu(numOne(i))){
++sum;
}
}
return sum;
}
3、2的幂
bool isPowerOfTwo(int n){
return n>0&&(n&(n-1))==0;
}