LeetCode 204. 计数质数 (Count Primes)[简单]

lework · 2020年04月29日 · 最后由 lework 回复于 2020年04月29日 · 97 次阅读

统计所有小于非负整数 n 的质数的数量。

示例:

输入: 10
输出: 4
解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
class Solution:
    def countPrimes(self, n: int) -> int:
        if n<2:
            return 0;
        isPrime=[1]*n;
        # 合数对应0;素数对应1
        isPrime[0]=isPrime[1]=0;
        #埃式筛
        for i in range(2,int(n**0.5)+1):
            if isPrime[i]:
                isPrime[i*i:n:i]=[0]*((n-1-i*i)//i+1);#个数
        return sum(isPrime);
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册