【leetcode】204.Count Primes(python)

题目描述
Count the number of prime numbers less than a non-negative number, n.
计算比一个非负数n小的所有质数的个数。

思路
采用厄尔多塞筛法。

代码

class Solution:
    def countPrimes(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n <3:
            return 0

        digits = [1]*n
        digits[0] = digits[1] = 0

        for i in range(2, int(n**0.5)+1):
            if digits[i] == 1:
                for j in range(i+i, n, i):
                    digits[j] = 0

        return sum(digits)

猜你喜欢

转载自blog.csdn.net/qq_42011358/article/details/83542331