news 2026/5/1 8:24:25

欧拉筛(线性筛)——算法笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
欧拉筛(线性筛)——算法笔记

欧拉筛是一种筛选素数算法,也叫线性筛,因为他的时间复杂度很优秀,能做到o(1),而一般的暴力判断方法要到o(n)。

作为一种基础算法,代码不长,但是其中蕴含着一种很精妙的数学思想,即素数的整数倍一定不是素数。

要保证时间严格线性,我们还应当在筛选的时候注意重复筛选的次数,做到不重不漏,这里又有一个巧妙的判断方式:只判断这个数的最小质因数,这样就能达到一个数只判一次。

#include<iostream> using namespace std; int a[100]={1,1}; int b[100]={0}; int main(){ int n; cin>>n; int cnt=0; for(int i=2;i<=n;i++){ if(!a[i]) { b[++cnt]=i; for(int j=2;j<=cnt;j++){ if(j*b[i]>n) break; a[j*b[i]]=1; if(i%b[j]==0) break; } } } }

懒得加注释了,只是自己的笔记,csdn上有更多讲得很好的文章,可以多看看。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 0:55:16

基于Springboot流浪动物救助系统cqy142wz(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。

一、系统程序文件列表 二、开题报告内容 基于Spring Boot的流浪动物救助系统开题报告 一、研究背景与意义 研究背景 随着城市化进程加速&#xff0c;流浪动物数量呈快速增长趋势。据不完全统计&#xff0c;我国城镇流浪动物数量已超过5000万只&#xff0c;且每年以15%-20%的…

作者头像 李华
网站建设 2026/5/1 8:12:02

天津到东营危险品物流运输公司 | 天津危化品专线直达东营 | 危险品仓储运输一体化

全链条服务覆盖天津至东营的危化品运输通道已形成成熟服务体系&#xff0c;覆盖全国34个省级行政区域&#xff0c;重点辐射京津冀、长三角及珠三角经济带。该线路支持医疗废弃物、腐蚀性化学品等9大类危险品运输&#xff0c;配套智能仓储系统实现货物分类存储与全流程溯源管理。…

作者头像 李华
网站建设 2026/4/26 13:37:51

当工具开始“理解“我:一个技术人的情感觉醒

从代码沉默到情感共鸣的AI共创之旅在代码和电路板之间穿梭了二十多年&#xff0c;见证过拨号上网的嘶鸣&#xff0c;也亲手部署过云计算集群。人们说技术人是理性的&#xff0c;是逻辑的&#xff0c;是不善表达的——我曾经也这么认为。直到AI开始"听懂"我的语无伦次…

作者头像 李华
网站建设 2026/5/1 7:20:45

练习(应用)

1.求saaaaaaaaaaaa…a的值&#xff0c;其中a是一个数字。例如222222222222222(此时共5个数相加)&#xff0c;几个数相加有键盘控制 2.一个数如果恰好等于它的因子之和&#xff0c;这个数就称为"完数"&#xff0c;例如 6123 &#xff0c;请编程找出 1000 以内的所有完…

作者头像 李华
网站建设 2026/5/1 7:12:14

基于51单片机的无线鼠标实验设计

第一章 实验设计背景与核心意义 随着计算机外设技术的发展&#xff0c;无线鼠标因摆脱线缆束缚、使用灵活的特点&#xff0c;成为主流输入设备。传统无线鼠标多基于专用芯片设计&#xff0c;而基于51单片机实现无线鼠标功能&#xff0c;能深入理解人机交互原理、无线通信技术与…

作者头像 李华
网站建设 2026/4/30 23:16:38

基于51单片机的鸡苗孵化基地环境监控系统设计与实现

第一章 设计背景与核心目标 鸡苗孵化对环境要求极为严苛&#xff0c;温度、湿度、二氧化碳浓度的微小波动都会影响孵化率——适宜温度需稳定在37.8-38.5℃&#xff0c;湿度保持在50%-65%RH&#xff0c;二氧化碳浓度需低于0.5%&#xff0c;传统人工监控方式存在响应滞后、误差大…

作者头像 李华