天天看点

762. 二进制表示中质数个计算置位

​​762. 二进制表示中质数个计算置位​​

762. 二进制表示中质数个计算置位
class Solution {
    public int countPrimeSetBits(int left, int right) {
        int ans = 0;
        for(int i=left;i<=right;i++){
            int j=i,cnt=0;
            while(j!=0){
                if((j & 1)==1){
                    cnt++;
                }
                j>>=1;
            }
            
            if(cnt>1){
                boolean isprime = true;
                for(int k=2;k<=Math.sqrt(cnt);k++){
                    if(cnt%k==0){
                        isprime = false;
                        break;
                    }
                }
                if(isprime) ans++;
            }
        }
        return ans;
    }
}      

​​汉明重量​​​​ https://www.bilibili.com/video/BV1eF41137qG​​