Count Primes
Description:
Count the number of prime numbers less than a non-negative number, n.
The Sieve of Eratosthenes uses an extra O(n)
memory and its runtime complexity is O(n log
log n).
class Solution {
public:
//筛选法求素数
int countPrimes(int n) {
bool *isPrime = new bool[n];
for(int i=2;i<n;i++)
isPrime[i]=true;
for(int i=2;i*i<n;i++){
if(!isPrime[i])
continue;
for(int j=2*i;j<n;j+=i)
isPrime[j]=false;
}
int sum=0;
for(int i=2;i<n;i++)
if(isPrime[i])
sum++;
return sum;
}
};

本文介绍了一种通过筛法计算小于指定整数的素数数量的方法,利用Eratosthenes筛算法实现。该算法通过创建一个布尔数组来标记每个数是否为素数,并通过循环迭代逐步排除合数,最终统计素数的数量。
658

被折叠的 条评论
为什么被折叠?



