博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线性素数筛
阅读量:5250 次
发布时间:2019-06-14

本文共 1075 字,大约阅读时间需要 3 分钟。

线性筛模板

不大于n的所有素数共几个

#include
int n;int prime[100000005];bool vis[100000005];int find(int n){ int cnt=0; for(register int i=2;i<=n;i++){ if(!vis[i]) prime[++cnt]=i; for(register int j=1;j<=cnt;j++){ if(prime[j]*i>n) break; vis[prime[j]*i]=1; if(!i%prime[j]) break; } } return cnt;}int main(){ scanf("%d",&n); printf("%d",find(n)); return 0;}

优化

将所有偶数去掉
洛谷P3383

#include
using namespace std;const int maxn=100000005;int n,m,cnt=1,a[maxn];bool b[maxn];int main(){ scanf("%d%d",&n,&m); b[1]=1; a[1]=2; b[4]=1; for(register int i=3;i<=n/2+1;i++){ if(i%2==0) b[i*2]=1; else{ a[++cnt]=i; for(register int j=1;j<=cnt;j++){ if(i*a[j]>n) break; b[i*a[j]]=1; } } } for(int i=1;i<=m;i++){ int x; scanf("%d",&x); if(b[x]) printf("No\n"); else printf("Yes\n"); } return 0;}

转载于:https://www.cnblogs.com/Menteur-Hxy/p/9248057.html

你可能感兴趣的文章
tcpcopy 流量复制工具
查看>>
HttpClient 教程 (五)
查看>>
vue和react的区别
查看>>
PHP文件包含漏洞利用
查看>>
document.documentElement和document.body区别介绍
查看>>
Cocos2d-x中Vector使用
查看>>
第十一次作业
查看>>
mybatis CRUD
查看>>
负载均衡策略
查看>>
Go 语言的基本数据类型
查看>>
数据库建立索引加快查询
查看>>
[codevs 2235]机票打折
查看>>
微信智能开放平台
查看>>
C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素
查看>>
ArcGIS Engine 中的绘制与编辑
查看>>
Oracle--通配符、Escape转义字符、模糊查询语句
查看>>
子网划分讲解及练习(一)
查看>>
Python 装饰器
查看>>
c# 文件笔记
查看>>
Vue 自定义指令
查看>>