码迷,mamicode.com
首页 > 其他好文 > 详细

线性筛素数

时间:2017-09-12 15:44:13      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:namespace   prime   for   cin   oid   std   get   using   c++   

#include <bits/stdc++.h>
using namespace std;
vector<int> prime;
bool is_p[10000001]={1,1};
void getprime(int n){
	for(int i=2;i<=n;i++){
		if(!is_p[i])prime.push_back(i);
		for(auto it=prime.begin();it!=prime.end()&&(*it)*i<=n;it++){
			is_p[(*it)*i]=1;
			if(!(i%(*it)))break;
		}
	}
}
int main(){
int N,M;
	cin>>N>>M;
	getprime(N);
	while(M--){
		int a;
		cin>>a;
		if(!is_p[a])puts("Yes");
		else puts("No");
	}
	return 0;
}

  

线性筛素数

标签:namespace   prime   for   cin   oid   std   get   using   c++   

原文地址:http://www.cnblogs.com/HC-LittleJian/p/7509703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!