最新要闻
- 背靠大模型的华为小艺:我竟然发现了华为员工都不知道的新功能
- 营收大涨2倍、毛利率超特斯拉:理想怎么做到的?
- 背靠大模型的华为小艺:我竟然发现了华为员工都不知道的新功能
- 几百元的国产芯片+Flyme手机:竟然能畅玩《原神》!
- 天津一电动车室内充电爆炸到燃烧仅3分钟 网友吵翻为何电池拿回家充电
- 蚂蚁死后会发生什么?其他蚂蚁视而不见 直到两天后……
- 青萝卜的做法视频(青萝卜的做法)
- 下课啦(关于下课啦的基本详情介绍)
- Intel Arc显卡自曝安全漏洞!这三个月买的小心了
- 开始上演!邂逅英仙座流星雨:高峰期每小时可达100颗
- 华为声明:不对外经营房产!任正非曾多次表态:挣大钱的死得快 我们就是聚焦
- 什么是5a级写字楼
- 离谱网红去天上抓了一朵云:然后卖了2万7!
- 河北因洪涝灾害受损学校加紧灾后重建 确保在9月1日如期开学
- 想造爆款 五菱听劝
- 北京首都机场今年旅客吞吐量突破3000万:2018/2019年曾过亿
广告
手机
![顺络电子:董事长部分股权办理股票质押业务](http://www.viltd.com/uploadfile/2022/0610/20220610103218963.jpg)
顺络电子:董事长部分股权办理股票质押业务
![深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加](http://www.viltd.com/uploadfile/2022/0610/20220610103218963.jpg)
深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 顺络电子:董事长部分股权办理股票质押业务
- 深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 最新洪水形势如何?时隔多年为何又见洪水?解答来了!
- 李明俊在调研白龟湖科创新城和环湖路建设工作时强调 勇于担当负责 善于创新突破 着力打造群众满意的放心工程
- 遮天:东荒两大家族登场,庞博成为妖王,妖族公主颜如玉绝美登场
- 京运通: 我司自扩产硅片业务以来,所有单晶炉均为自供
家电
【专题】质数筛
(资料图片仅供参考)
质数筛
Q:给定自然数 n ,求 [1, n] 区间内的所有质数。
1、原始筛法(时间复杂度:O(n√n))
算法思路:不加思考的暴力枚举,即逐个判断区间内每个数是否是质数。判断单个质数的时间复杂度为O(√n) ,判断 1 ~ n 是否是质数的时间复杂度为O(n√n) 。
代码展示:
int tot, prime[N]; /* prime[i] 为第 i 个质数 */bool is_prime(int n) { if (n < 2) return false; for (int i = 2; i * i <= n; i ++) if (!(n % i)) return false; return true;}void prime_sieve() { for (int i = 1; i <= n; i ++) if (is_prime(i)) prime[++ tot] = i;}
2、普通筛法(时间复杂度:O(n log n))
算法思路:和原始筛法相比有改进,一个(大于 1)自然数的 k 倍数(k > 1)都一定不是质数。
代码展示:
bool is_prime[N]; /* is_prime[i] 表示 i 是不是质数,false 即是 */int tot, prime[N]; /* 共有 tot 个质数,prime[i] 为第 i 个质数 */ void prime_sieve() { for (int i = 2; i <= n; i ++){ if (!is_prime[i]) prime[++ tot] = i; for (int j = i << 1; j <= n; j += i) is_prime[j] = true; } }
3、埃氏筛 形式 1(时间复杂度:O(n log logn))
算法思路:著名的质数筛法,由古希腊数学家 Eratosthenes(埃拉托斯特尼)发明,和普通筛法相比减少了许多冗余,一个质数的 k 倍数(k > 1)都一定不是质数。
代码展示:
bool is_prime[N]; /* is_prime[i] 表示 i 是不是质数,false 即是 */int tot, prime[N]; /* tot 个质数,prime[i] 为第 i 个质数 */void Eratosthenes_sieve() { for (int i = 2; i <= n; i ++){ if (!is_prime[i]){ prime[++ tot] = i; for (int j = i << 1; j <= n; j += i) is_prime[j] = true; } }}
4、埃氏筛 形式 2(时间复杂度:O(n log logn))
算法思路:埃氏筛的一种不明显的优化,大于 1 的整数的质数倍数不是质数。
代码展示:
bool is_prime[N]; /* is_prime[i] 表示 i 是不是质数,false 即是 */int tot, prime[N]; /* 共有 tot 个质数,prime[i] 为第 i 个质数 */ void Eratosthenes_sieve() { for (int i = 2; i <= n; i ++){ if (!is_prime[i]) prime[++ tot] = i; for (int j = 1; j <= tot && i * prime[j] <= n; j ++) is_prime[i * prime[j]] = true; } }
5、欧拉筛(时间复杂度:O(n))
算法思路:最著名、最常用的质数筛!在埃氏筛的形式 2 上多了一行神奇的代码,时间复杂度就从O(nlog logn)降至O(n) ,因其是线性复杂度,所以也称线性筛。如果已经被筛过了,则可以终止这轮筛选合数。
代码展示:
bool is_prime[N]; /* is_prime[i] 表示 i 是不是质数,false 即是 */int tot, prime[N]; /* 共有 tot 个质数,prime[i] 为第 i 个质数 */ void Linear_sieve() { for (int i = 2; i <= n; i ++){ if (!is_prime[i]) prime[++ tot] = i; for (int j = 1; j <= tot && i * prime[j] <= n; j ++){ is_prime[i * prime[j]] = true; if (!(i % prime[j])) break; // beautiful !!! } } }
5、埃氏筛 形式 1 + bitset(时间复杂度:O(n loglogn))
算法思路:令人难以置信的是,埃氏筛搭配 C++ 神奇的 bitset 容器(不是 STL),可以让高复杂度的它效率高于低复杂度的欧拉筛!!!
代码展示:
bitsetis_prime; /* is_prime[i] 表示 i 是不是质数,true 即是 */int tot, prime[N]; /* tot 个质数,prime[i] 为第 i 个质数 */void Eratosthenes_sieve() { is_prime.set(); /* 初始化为 true */ is_prime[0] = is_prime[1] = false; for (int i = 2; i <= n; i ++){ if (!is_prime[i]){ prime[++ tot] = i; for (int j = i << 1; j <= n; j += i) is_prime[j] = false; } }}
参考资料:OI Wiki
关键词:
-
-
-
-
【专题】质数筛
背靠大模型的华为小艺:我竟然发现了华为员工都不知道的新功能
营收大涨2倍、毛利率超特斯拉:理想怎么做到的?
背靠大模型的华为小艺:我竟然发现了华为员工都不知道的新功能
几百元的国产芯片+Flyme手机:竟然能畅玩《原神》!
天津一电动车室内充电爆炸到燃烧仅3分钟 网友吵翻为何电池拿回家充电
蚂蚁死后会发生什么?其他蚂蚁视而不见 直到两天后……
青萝卜的做法视频(青萝卜的做法)
下课啦(关于下课啦的基本详情介绍)
Intel Arc显卡自曝安全漏洞!这三个月买的小心了
开始上演!邂逅英仙座流星雨:高峰期每小时可达100颗
华为声明:不对外经营房产!任正非曾多次表态:挣大钱的死得快 我们就是聚焦
什么是5a级写字楼
离谱网红去天上抓了一朵云:然后卖了2万7!
河北因洪涝灾害受损学校加紧灾后重建 确保在9月1日如期开学
想造爆款 五菱听劝
北京首都机场今年旅客吞吐量突破3000万:2018/2019年曾过亿
你怎么看?中国最缺大学的十大城市一览:佛山排第一 拟以城市冠名大学
东西问·中外对话丨痴迷汉字,这位美国大叔学会用粤语读唐诗
自研龙骨转轴 小米MIX Fold 3支持多角度悬停拍照模式 跨度达90度
高铁票越来越难买 都是短途票闹得?12306图解如何分配长途票和短途票
长沙一小区给业主发60万元现金 网友集体羡慕:这样的物业哪找
吉林扶余组建心理咨询队 为集中安置群众服务
平仄无糖龙井/乌龙茶12瓶 39元包邮到手
《封神》第一部票房破19亿!第二部新图公布:姬发、雷震子大战魔礼青
斥资15亿元 新公司进军房地产!华为声明:不对外经营房产
面包车撞桥墩起火 男子在爆燃前拉出昏迷司机 滴滴奖励3000元
Python 对象拷贝的详细教程
python argparse传入布尔参数不生效的解决方法
海带怎么炒好吃不老?
想要直接降价不可能!英伟达对RTX 40系列显卡促销 送《守望先锋2》游戏
国产3A之光《黑神话:悟空》首发试玩资格遭爆炒:最高卖到5000元
末代高尔夫油车明年问世
南极发现有20只手臂的海怪 头部像颗“大草莓”
嘴强王者 男子提供网上代骂服务 一天100元 获利近万元
大理白族火把节是哪天 大理火把节氛围感拉满 基本情况讲解
以色列精准复刻人体心脏模型:制药业意义重大
屏幕堪比手表 小米手环8 Pro续航升级至14天
3吨重的一整座电塔飞天刷屏 网友直呼:国家电网版“拖”塔天王
吉林省连发两预警 12日至14日将有一次明显降雨天气过程
天玑9300将于10月登场:首次全大核架构 性能狙击苹果A17
五菱算不算国产车?五菱总经理:唯一一家合资中的国产品牌
更方便了!中国、美国间客运航班数量增加一倍 至每周24班
Python教程(7)——一文弄懂Python字符串操作(上)|字符串查找|字符串分割|字符串拼接|字符串替换
国铁回应“高铁票越来越难买”:短途车票敞开出售 会直接挤占长途旅客的票额
汽车产业不再被卡脖子!王传福:中国已掌握新能源汽车核心技术和完备的产业链
中国首颗人工智能卫星发射成功:卫星带了脑子上天
北交所:减免受汛情影响严重企业费用
地球内4亿亿吨黄金,甚至能制作人工合成,为何金价居高不下?
85%肉含量 一口爆汁!森马旗下烤肠大促29.9元3斤大促
杀疯!久违的商战 山姆盒马开打:盒马移山价内涵山姆 任何商品比对方低一元
山东布谷科技直播软件开发WebRTC技术:建立实时通信优质平台
诗经新声-9-《汉广》
北半球三大流星雨之一!英仙座流星雨8月13日迎极大:肉眼可见
苹果又要秒安卓阵营?!A17性能首曝光:比上代提升近50%
21.8万元!领克08订单突破10000台:首发魅族车机+92寸HUD 综合续航1400km
蒙古穗三毛(关于蒙古穗三毛简述)
野火stm32指南者开发板点亮LED
微官网使用方法
中国证监会、香港证监会就推动大宗交易(非自动对盘交易)纳入互联互通机制达成共识
【环球财经】纽约股市三大股指11日涨跌不一
暴雨致车牌丢失怎么办?官方解答:12123手机App即可补办
雪峰科技:8月11日融资买入414万元,融资融券余额3.21亿元
手机相关知识:iphone苹果手机11指纹怎么设置
iPhone 14 Pro电池衰减严重:不到一年只剩86%容量!大批用户截图吐槽
雷军建议大家少刷手机:年轻人不用非得进大厂 偶尔gap一下会走更远
台风卡努在辽宁庄河沿海登陆:成今年首个在东北登陆的台风
“月球-25”号发射成功!俄罗斯:还要挑战载人登月
乒坛大爆冷!16岁日本小将3-1胜亚洲冠军,对手赢过张继科、马龙
选读SQL经典实例笔记23_读后总结与感想兼导读
开背虾的做法大全集窍门(开背虾的家常做法)
达梦数据库随系统开机自动启动脚本
增程是落后技术?销量占插混近1/4 理想、问界等立功
《封神第一部》预测票房超25亿 网友:值得
中年大叔的自拍照 正被网友们拿去当头像 必须要凶悍
Redmi K60至尊版有白色款 员工:边框颜色很特别
想不火都难!将近25万人预约一加Ace 2 Pro
上海楼市政策优化等风来,二手房交易量大增,开发商等待救援
rear空调上是什么意思,大众迈腾rear空调上是什么意思
我和我的祖国诗歌朗诵视频(我和我的祖国诗歌)
小米手环8 Pro来了:这几个大招值得关注
小米MIX Fold 3转轴技惊四座!雷军:手感惊艳
阿里云盘福利:注册多少天送多少GB容量 看看你能领多少?
为何卢伟冰敢说Redmi K60至尊版是性能之王?原因揭开
联发科起飞了!天玑9300脱胎换骨:性能猛如虎
宁波晚报(关于宁波晚报简述)
快速幂算法
大爷高铁上戴耳机刷视频、喝白酒全程安静 网友:让多少年轻人汗颜
疯狂!记者:曼城总价9500万欧求购帕奎塔,西汉姆基础要价1.1亿
element-theme 使用踩坑
【python技巧】文本文件的读写操作
Ant Design Pro项目ProTable怎么实现单元格合并效果
【新华解读】社融数据引发降准预期“拉满” 债市能否迎来新一轮牛市?
一台无人机能替代20名劳动力,江陵县无人机植保为粮食生产提质增效
李楠称中国手机厂商内战内行愚蠢可笑 支持比亚迪主张
科大讯飞净利润同比下降73.54% 回应:钱砸进AI大模型了
荣耀宣布全国范围开通地震预警:烈度高于2.0将弹窗预警
江苏盐城胃肠病医院哪个好
宝马3系遭车主集体投诉:新车就传动轴异响 售后让换轴
搬家神器!长城哈弗猛龙更多信息曝光:后备箱最大空间1404升