埃氏筛法

来源:互联网 发布:医药b2b关键词 seo 编辑:程序博客网 时间:2024/06/15 19:03

埃氏筛法

枚举一段区间的素数。

#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<vector>#include<map>using namespace std;const int maxn = 1e5+5;typedef long long ll;int n;int prime[maxn];bool is_prime[maxn];int sieve(int n){    for(int i=0;i<=n;i++) is_prime[i] = true;    is_prime[0] = is_prime[1] = false;    int num = 0;    for(int i=2;i<=n;i++)    {        if(is_prime[i])        {            prime[num++] = i;            for(int j=2*i;j<=n;j+=i)            {                is_prime[j] = false;            }        }    }    return num;}int main(){    scanf("%d",&n);    int ans = sieve(n);    printf("%d\n",ans);    return 0;}
原创粉丝点击