統(tǒng)計(jì)所有小于非負(fù)整數(shù) n 的質(zhì)數(shù)的數(shù)量冷溶。
示例 1:
輸入:n = 10
輸出:4
解釋:小于 10 的質(zhì)數(shù)一共有 4 個(gè), 它們是 2, 3, 5, 7 产阱。
示例 2:
輸入:n = 0
輸出:0
示例 3:
輸入:n = 1
輸出:0
提示:
0 <= n <= 5 * 10^6
方法一:篩子法
class Solution:
def countPrimes(self, n: int) -> int:
if n < 3: return 0
f = [1]*n
f[0] = f[1] = 0
for i in range(2, round(sqrt(n)) + 1):
if f[i] == 0: continue
j = i*i
while j < n:
f[j] = 0
j += i
ans = f.count(1)
return ans