(模板)线性筛素数
Posted xiaozezz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(模板)线性筛素数相关的知识,希望对你有一定的参考价值。
—————————————————————————————————————————————————— —————————————————————前排护眼——————————————————————— ——————————————————————————————————————————————————
#include<bits/stdc++.h>
using namespace std;
const long N = 10000050;
long prime[N] = {0}; //记录质数
long num_prime = 0; //表示质数数量
int isNotPrime[N] = {1, 1}; //记录n是否为质数
int main()
{
for(long i = 2 ; i < N ; i ++){
if(! isNotPrime[i]){ // i为质数,则记录
prime[num_prime ++]=i;
}
for(long j = 0 ; j < num_prime && i * prime[j] < N ; j ++){ // 质数*i为合数,记录
isNotPrime[i * prime[j]] = 1;
if( !(i % prime[j] ) ) //防止重复筛选
break;
}
}
}
以上是关于(模板)线性筛素数的主要内容,如果未能解决你的问题,请参考以下文章