LeetCode Python算法算法提高之LeetCode刷题

762. Prime Number of Set Bits in

2018-07-19  本文已影响0人  fred_33c7

题目地址:https://leetcode.com/problems/prime-number-of-set-bits-in-binary-representation/description/

大意:判断一个整数转化为二进制数后,它的1的个数是不是质数。
思路:题目中有两个一个范围条件

  1. L、R会是[1,10^6]范围内的整数。
  2. R - L最多为10000。
    这样的话,就算是有32位1,也就是说最大的整数就是32.那把32以内的所有质数列出来,然后判断就行了
primes = {2, 3, 5, 7, 11, 13, 17, 19}
return sum(bin(x).count('1') in primes for x in range(L,R+1))

但是如果就是想知道是不是质数呢?列出一个判断质数的方法

def isPrime(self,n):
        if n <= 1:
            return False
        for i in range(2, int(math.sqrt(n)) + 1):
            if n % i == 0:
                return False
        return True 
上一篇 下一篇

猜你喜欢

热点阅读