【模板】欧拉筛

来源:互联网 发布:数据对比分析的方法 编辑:程序博客网 时间:2024/06/17 01:05
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=10001;int n,tot;int prime[maxn];bool vis[maxn];void find_prime(int n){    for(int i=2;i<=n;i++)    {        if(!vis[i]) prime[++tot]=i;        for(int j=1;j<=tot&&prime[j]*i<=n;j++)        {            vis[prime[j]*i]=1;            if(i%prime[j]==0) break;        }    }    return;}int main(){    scanf("%d",&n);    find_prime(n);    for(int i=1;i<=tot;i++)    cout<<prime[i]<<' ';    return 0;}

原理:

原理1

原理2

原理3

原理4

原理5

原创粉丝点击