news 2026/5/14 5:05:35

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

作者头像

张小明

前端开发工程师

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/5/13 19:56:06

GraphQL安全加固秘籍:PHP环境下复杂度分析器深度集成指南

第一章&#xff1a;GraphQL的PHP查询复杂度限制 在构建基于PHP的GraphQL服务时&#xff0c;查询复杂度限制是保障系统稳定性的关键机制。未经控制的嵌套查询可能导致服务器资源耗尽&#xff0c;甚至引发拒绝服务攻击。通过引入查询复杂度分析器&#xff0c;可以在请求执行前预估…

作者头像 李华
网站建设 2026/5/13 20:56:01

攻坚流量异常与VPC网络:一次深刻的技术排查与成长记录 凤希AI伴侣 · 开发日记 2025年12月15日

&#x1f31f; 今日总结昨天是紧张而充实的一天&#xff0c;我们发布了凤希AI伴侣的新版本&#xff0c;但更核心的精力投入在解决一个突发的、持续数日的流量异常问题上。这个过程充满了挑战&#xff0c;从问题定位、多方案尝试到最终通过调整云网络架构找到根本解决路径&#…

作者头像 李华
网站建设 2026/5/13 20:56:22

揭秘纤维协程调试黑科技:3个你从未听说却至关重要的工具

第一章&#xff1a;揭秘纤维协程调试的行业盲区在现代高并发系统中&#xff0c;纤维&#xff08;Fiber&#xff09;协程因其轻量级与高效调度成为主流选择。然而&#xff0c;开发者在实际调试过程中常陷入难以察觉的陷阱&#xff0c;这些盲区不仅影响排查效率&#xff0c;更可能…

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

【农业产量预测新突破】:R语言随机森林模型实战全解析

第一章&#xff1a;农业产量预测新突破的背景与意义随着全球人口持续增长和气候变化加剧&#xff0c;粮食安全问题日益突出。传统农业依赖经验判断和历史数据进行产量预估&#xff0c;难以应对极端天气、病虫害突发等复杂挑战。近年来&#xff0c;人工智能与大数据技术的快速发…

作者头像 李华