题目 1084: 用筛法求之N内的素数
Posted lvyi-19325
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题目 1084: 用筛法求之N内的素数相关的知识,希望对你有一定的参考价值。
类型:有关素数的基础算法
思路:埃氏筛选
AC代码:
#include<iostream> #include<cstring> #include<algorithm> using namespace std; const int MAX_N=10000000; int prime[MAX_N]; bool is_prime[MAX_N]; int p; void sieve(int n) { p=0; for(int i=0;i<=n;i++) is_prime[i]=true; is_prime[0]=is_prime[1]=false; for(int i=2;i<=n;i++) { if(is_prime[i]) { prime[p++]=i; for(int j=2*i;j<=n;j+=i) is_prime[j]=false; } } } int main() { int n; cin>>n; sieve(n); for(int i=0;i<p;i++) cout<<prime[i]<<endl; return 0; }
以上是关于题目 1084: 用筛法求之N内的素数的主要内容,如果未能解决你的问题,请参考以下文章
JD 题目1040:Prime Number (筛法求素数)