题目:
统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
思路:
class Solution:
def countPrimes(self, n: int) -> int:
if n<=2:
return 0
l = [1]*(n) #设置一个全为列表,默认值为1
for i in range(2,n): #从2开始遍历
if l[i]:
for j in range(i*2,n,i): #对于i,把他在范围内从2倍之后所有的倍数都修改为0
l[j] = 0
count = 0
for i in range(2,n):
if l[i] == 1:
count += 1
return count