Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 696 Bytes

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

File metadata and controls

35 lines (28 loc) · 696 Bytes

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

题目传送门

点击这里

解题思路

一道简单的数学位运算题,分成求质数和获取二进制1的个数两种问题计算。

代码

func countPrimeSetBits(left int, right int) int {
    var res int
    for i := left;i <= right;i ++ {
        if isprime(bits.OnesCount(uint(i))) {
            res ++
        }
    }
    return res
}

func isprime(x int) bool {
    if x < 2 {
        return false
    }
    for i := 2;i * i <= x;i ++ {
        if x%i == 0 {
            return false
        }
    }
    return true
}