news 2026/5/11 17:42:28

质数筛-埃氏筛

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
质数筛-埃氏筛

质数的定义:只能被 1 和它自身整除的数

优势

相比于暴力的筛法,埃氏筛的算法效率要快不少,虽然比起欧拉筛来说,埃氏筛的优化仍然有待提高。但比起欧拉筛,埃氏筛的理解难度要小不少。

埃氏筛介绍

埃氏筛的时间复杂度在O()

我们可以想到一点,任何数的倍数都不可能为质数,所以我们可以因此来抹去一些与一个数倍数相关的数。其实就是空间换时间的想法

代码部分

暴力筛

#include<iostream> using namespace std; int main(){ int n; cin >> n; //判断 n 是不是质数 int flag = 1; if(n == 1){ flag = 0; }else{ for(int i = 2 ; i < n ; i++){ if(n % i == 0) flag = 0; } } //是质数输出yes,反之输出no if(flag) cout << "yes" << endl; else cout << "no" << endl; return 0; }

当然,在实际的使用中,你也可以通过打表的方法来提高筛法的效率。当然,在算法比赛中,很多时候你打出来的表不一定管用。

循环也可以把遍历的条件改成 i <=, 这样也可以提高效率

埃氏筛

#include<iostream> #include<cstring> using namespace std; const int N = 1e5; int flag[N]; int main(){ int n; cin >> n; //把flag全初始化为 1(除了 0 和 1) memset(flag , 1 ,sizeof(flag)); flag[0] = 0; flag[1] = 0; //开始筛,质数的倍数全都打上标记 for(int i = 2 ; i * i <= n ; i++){ for(int j = i * 2 ; j <= n ; j += i){ flag[j] = 0; } } //输出 for(int i = 0 ; i < n ; i++){ if(flag[i]) cout << i << ' '; } cout << endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 17:11:18

手术导航轨迹偏移 补生物力学约束才校准PINN模型

&#x1f4dd; 博客主页&#xff1a;jaxzheng的CSDN主页 目录 医疗数据科学&#xff1a;当Excel表格遇上手术刀 我差点把CT片当成了奶茶订单 数据江湖的三大痛点 数据清洗的血泪史 当AI遇见中医 数据共享的尴尬现场 未来可能的样子 写在最后 医疗数据科学&#xff1a;当Excel表…

作者头像 李华
网站建设 2026/5/9 5:05:31

Linly-Talker如何处理长时间对话的记忆衰减问题?

Linly-Talker如何处理长时间对话的记忆衰减问题&#xff1f; 在虚拟主播流畅推荐商品、AI客服耐心解答复杂问题的表象之下&#xff0c;隐藏着一个长期困扰开发者的核心难题&#xff1a;数字人真的“记得”你之前说过什么吗&#xff1f; 当用户与智能体连续对话超过十几轮后&…

作者头像 李华
网站建设 2026/5/11 9:39:22

Linly-Talker如何应对网络波动导致的卡顿问题?

Linly-Talker如何应对网络波动导致的卡顿问题&#xff1f; 在虚拟主播直播正酣、智能客服全天候待命的今天&#xff0c;一个“卡顿”的数字人可能意味着用户的流失、服务的中断&#xff0c;甚至品牌形象的受损。尽管AI技术已能让数字人“能说会动”&#xff0c;但真正考验其落地…

作者头像 李华
网站建设 2026/5/9 17:21:32

Linly-Talker能否接入高德地图提供出行导航?

Linly-Talker能否接入高德地图提供出行导航&#xff1f; 在智能车载系统日益普及的今天&#xff0c;用户不再满足于“点击起点终点、听语音提示”的传统导航模式。他们更希望有一个能听懂复杂指令、会看路况、还会“皱眉提醒前方拥堵”的虚拟助手——比如一个搭载了大模型的数字…

作者头像 李华
网站建设 2026/5/9 1:42:13

MySQL索引核心:聚集索引与非聚集索引

前言 在学习MySQL过程中&#xff0c;阅读到这样一段话&#xff1a;在 MySQL 中&#xff0c;B 树索引按照存储方式的不同分为聚集索引和非聚集索引。我就在想为什么要分为这两种&#xff0c;下面我就详细介绍这两者的联系、优缺点。 一、聚集索引和非聚集索引的本质 聚集索引…

作者头像 李华
网站建设 2026/5/1 10:53:15

Linly-Talker支持边缘计算部署吗?离线运行可行性分析

Linly-Talker支持边缘计算部署吗&#xff1f;离线运行可行性分析 在智能终端日益普及的今天&#xff0c;人们对数字人系统的期待早已不再局限于“能说话”&#xff0c;而是要求其具备实时响应、隐私安全和稳定可靠的综合能力。尤其是在展厅导览、车载助手、金融柜员等实际场景中…

作者头像 李华