Python二进制表示形式中设置位的素数
假设我们有两个整数L和R,我们必须找到在[L,R](含)范围内的二进制数形式的素数。
因此,如果输入像L=6和R=10,那么输出将是4,因为有4个数字6(110),7(111),9(1001),10(1010),都具有质数设置位数。
为了解决这个问题,我们将遵循以下步骤-
计数:=0
对于L到R范围内的j,执行
如果j的设置位计数在[2,3,5,7,11,13,17,19]中,则
数:=数+1
返回计数
让我们看下面的实现以更好地理解-
示例
class Solution:
def countPrimeSetBits(self, L, R):
def popcount(i):
return bin(i)[2:].count('1')
count = 0
for j in range(L,R+1):
if popcount(j) in [2,3,5,7,11,13,17,19]:
count +=1
return count
ob = Solution()
print(ob.countPrimeSetBits(6,10))输入值
6,10
输出结果
4
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短