解释:在筛质数时,我们会发现,筛去2后,2的倍数4、6、8等一定不是素数;筛去3后,3的倍数6、9、12等一定不是倍数。简单模拟这个过程如下
时间复杂度: O(NloglogN)
百度百科: 点击这里!埃拉托斯特尼筛法!简称埃氏筛或爱氏筛!
int primes[10000010], cnt;
bool vis[10000010];
void get_primes2(int N)
{
for(int i = 2; i <= N; i++)
{
if(vis[i]) continue;
primes[cnt++] = i;
for(int j = i; j <= N; j += i) vis[j] = true;
}
}
本文介绍了一种高效的筛选质数算法——埃拉托斯特尼筛法(简称埃氏筛),通过筛去已知非质数的倍数来逐步找出指定范围内的所有质数。该算法的时间复杂度为O(NloglogN),并提供了具体实现代码。
1387

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



