1324. 质数的个数

1324. 质数的个数

中文English

计算小于非负数n的质数的个数。

样例

样例 1

输入: n = 2
输出: 0

样例 2

输入: n = 4
输出: 2
解析:2, 3 是素数
class Solution:
    '''
    大致思路:
    1.初始化列表[0,0,0,0,0],外层循环n,内层循环range(i*2,n,i),将值置1,
    2.最终前面[0,1,2,3]这几个都默认为0,所以需要减去0,1这两个不是质数的值,就是结果了。后面不为质数的都是赋值1。

    '''
    def  countPrimes(self,n):
        l = [0] * n
        ##开始将不是质数的置1
        for  j in range(2,n):
            if l[j] != 1:
                for z in range(j*2,n,j):#本身不能算,比如5,7这些,只能取10,14这些作为不是质数的,以j递增。一直到n为止。
                    l[z] = 1
        return l.count(0) - 2
posted @ 2020-04-20 01:34  风不再来  阅读(150)  评论(0编辑  收藏  举报