204. Count Primes

来源:互联网 发布:sql server免费吗 编辑:程序博客网 时间:2024/06/16 14:14

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

思路:除了1和它本身以外不再被其他的除数整除。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积,最小的质数是2。

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