(模板)线性筛素数

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;           
        }  
              
    }        
}

以上是关于(模板)线性筛素数的主要内容,如果未能解决你的问题,请参考以下文章

普及组模板——线性筛素数

线性筛素数模板

模板线性筛求素数

数学基础素数线性筛法--欧拉筛法模板普通筛法的优化

P3383 模板线性筛素数

P3383 模板线性筛素数