• 单纯的线性筛素数


    很多地方要用到素数,而能很快的写出代码筛出素数是很不错的我就单独写一个线性筛的代码和证明。

    #include<iostream>
    #incldue<cstdio>
    #include<queue>
    #include<algorihtm>
    #include<cstding>
    using namespace std;
    #define N 1000009
    bool mark[N];//标记合数,
    int prime[90000];//储存质数 
    void first()
    {
        for(int i=2;i<=N;i++)
        {
            if(!mark[i]) prime[++prime[0]]=1;
            
            for(int j=1;j<=prime[0];j++)
            {
                if(i*prime[j]>N)     break;
                mark[i*prime[j]]=1;
                if(i%prime[j]==0)    break;
            }
        }
    }
    int main()
    {
        first();
    }
     
  • 相关阅读:
    Codeforces 977F
    Codeforces 219C
    Codeforces 1132
    Codeforces 660C
    Codeforces 603A
    Codeforces 777C
    Codeforces 677
    JNUOJ 1032
    Codeforces 677D
    Codeforces 835C
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/7536046.html
Copyright © 2020-2023  润新知