您的位置:首页 > 其它

筛法求素数 函数模板

2015-07-24 12:35 239 查看
const int MAX=20000000;
//an存储素数数组,下标从0开始,个数为num
int an[2000000],num;
bool bn[MAX+10];

void prime()
{
num = 0;
memset(bn,1,sizeof(bn));
bn[0] = bn[1] = 0;
for(int i = 2;i<MAX;i++)
{
if(bn[i]) an[num++] = i;
for(int j = 0;j<num&&an[j]*i<MAX;j++)
{
bn[an[j]*i] = 0;
if(i%an[j] == 0) break;
}
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: