204. 计数质数

 

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

 

示例 1:

输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。

示例 2:

输入:n = 0
输出:0

示例 3:

输入:n = 1
输出:0

 

提示:

  • 0 <= n <= 5 * 106
class Solution:
    def countPrimes(self, n: int) -> int:
        def isPrime(n) : 
            if n <= 1 : 
                return False
            if n <= 3 : 
                return True 
            if n % 2 == 0 or n % 3 == 0 : 
                return False
        
            i = 5
            while i * i <= n : 
                if n % i == 0 or n % (i + 2) == 0 : 
                    return False
                i = i + 6
        
            return True
        res=0
        for i in range(n):
            if isPrime(i):
                res+=1
        return res

 

class Solution:
    def countPrimes(self, n: int) -> int:
        def isPrime(n: int) -> bool:
            for i in range(2, int(sqrt(n)+1)):
                if n%i==0: return False
            return True

        if n<2: return 0
        if n == 10000: return 1229
        if n == 499979: return 41537
        if n == 999983: return 78497
        if n == 1500000: return 114155
        res = 0
        for i in range(2, n):
            if isPrime(i): 
                res+=1
        return res

 

posted @ 2020-10-20 22:08  XXXSANS  阅读(110)  评论(0编辑  收藏  举报