//筛法求素数
void judge()
{
//首先将下标为偶数的设为false奇数下标设为true
a[0] = false;
a[1] = false;
int i;
for(i = 2;i <max_N;i++)
{
if(i % 2 == 0)
a[i] =false;
else
a[i] =true;
}
//筛
int j;
for(i = 3;i <=sqrt(max_N + 0.5);i += 2)
{
for(j = i * i;j < max_N ;j += i)
a[j] =false;
}
}
筛法求素数
最新推荐文章于 2025-07-28 15:56:49 发布
本文介绍了一种使用筛法求解素数的方法。通过初始化数组标记所有整数,并利用已知素数逐步筛除合数的方式,高效地找出指定范围内的全部素数。算法首先标记偶数为非素数,然后从3开始,每隔一个数检查是否为素数,并筛除其倍数。
1273

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



