统计所有小于非负整数 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