复杂度为nlogn。

算法思想为:枚举1~sqrt(n),然后把每一个数的倍数都都打上不是素数的标记。

还要特别注意0,1不是素数,打标记枚举到i*k<=n.

代码如下

#include<bits/stdc++.h>
#define maxn 10000001
using namespace std;
bool prime[maxn];
int n,m;
void make_prime()
{
memset(prime,true,sizeof(prime));
prime[]=prime[]=false;//0,1都不是素数
int t=sqrt(n);//开根号
for(int i=;i<=t;i++)
{
if(prime[i])
{
for(int j=*i;j<=n;j+=i)//加倍
{
prime[j]=false;
}
}
}
return;
}
int main(){
cin>>n>>m;
make_prime();
for(int i=,x;i<=m;i++){
cin>>x;
if(x==||x==) cout<<"No"<<endl;
else if(prime[x]==true) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return ;
}

最新文章

  1. HDOJ 2393. Higher Math
  2. UWP学习记录9-设计和UI之控件和模式6
  3. ExtJS笔记 Proxy
  4. Anti-pattern
  5. Android图形显示之硬件抽象层Gralloc(hal 转)
  6. CodeForces 455B A Lot of Games (博弈论)
  7. ubuntu12.10设置禁止锁屏和屏幕常亮
  8. sqlite3触发器的使用
  9. 创建ListView控件
  10. ubuntu下 编译Caffe的Matlab接口
  11. Neo4j 第五篇:批量更新数据
  12. Spring 对缓存的抽象
  13. Beta冲刺前准备
  14. 自动化运维工具——puppet详解(二)
  15. SQL优化 MySQL版 - B树索引详讲
  16. GANs用于文本生成
  17. Mysql插入中文的字段内容时乱码的解决方法
  18. ASP.NET MVC 4 (十二) Web API
  19. linux神器strace
  20. 【CSP】最大的矩形

热门文章

  1. 编写批处理使用msbuild编译项目
  2. Jmeter(十二)常用插件
  3. 【知识库】-数据库_MySQL之基本数据查询:子查询、分组查询、模糊查询
  4. Vue2实践computed监听Vuex中state对象中的对象属性时发生的一些有趣经历
  5. TCP连接建立 之 同时打开
  6. CentOS6.4_x64配置OpenLDAP+PhpldapAdmin
  7. RF框架自定义测试库开发
  8. 十、封装assertResponse响应断言
  9. 操作系统-Windows:UWP(Universal Windows Platform)
  10. oracle 查看数据库和表命令