leetcode No204. Count Primes

来源:互联网 发布:mysql登录后修改密码 编辑:程序博客网 时间:2024/06/07 14:35

Question

Count the number of prime numbers less than a non-negative number, n.

Algorithm

筛法求素数

Accepted Code

python

class Solution(object):    def countPrimes(self, n):        if n<3:            return 0        primes = [True]*n        primes[0] = primes[1] = False        for i in range(2,int(n ** 0.5)+1):    # **代表乘方            if primes[i]:                j = i*2;                while(j < n):                    primes[j] = False                    j = j+i        return sum(primes)

C++

class Solution {public:    int countPrimes(int n) {        if(n<3)            return 0;        vector<bool> v(n,true);        for(int i=2;i<=sqrt(n);i++){            for(int j=i*2;j<n;j+=i){                v[j]=false;            }        }        int res=0;        for(int i=2;i<n;i++){            if(v[i]==true)                res++;        }        return res;    }};
原创粉丝点击