python leetcode 204. Count Primes

“去重”思想,质数的倍数不是质数

class Solution(object):
    def countPrimes(self, n):
        """
        :type n: int
        :rtype: int
        """
        
        if n < 3: return 0 
        primes = [True] * n 
        primes[0] = primes[1] = False 
        for i in range(2, int(n ** 0.5) + 1): 
            if primes[i]: 
                primes[i * i: n: i] = [False] * len(primes[i * i: n: i]) 
        return sum(primes)

猜你喜欢

转载自blog.csdn.net/Neekity/article/details/85028920