线性筛素数-欧拉筛法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性筛素数-欧拉筛法相关的知识,希望对你有一定的参考价值。
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int num[100000]; 5 long long prime[5000001]; 6 bool is_prime[10000001]; 7 int N,M; 8 int cnt=1; 9 int main() 10 { 11 for(int k=0;k<10000001;k++) 12 { 13 is_prime[k]=true; 14 } 15 cin>>N>>M; 16 is_prime[0]=false; 17 is_prime[1]=false; 18 is_prime[2]=true; 19 prime[1]=2; 20 for(int i=2;i<N;i++) 21 { 22 if(is_prime[i]==true){prime[cnt]=i;cnt++;} 23 for(long long j=1;j<=cnt&&prime[j]*i<=N;j++) 24 { 25 is_prime[prime[j]*i]=false; 26 if(i%prime[j]==0)break; 27 } 28 } 29 for(int i=0;i<M;i++) 30 { 31 cin>>num[i]; 32 if(is_prime[num[i]]==false)cout<<"No"<<endl; 33 else cout<<"Yes"<<endl; 34 } 35 return 0; 36 }
以上是关于线性筛素数-欧拉筛法的主要内容,如果未能解决你的问题,请参考以下文章