news 2026/4/25 6:41:21

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

作者头像

张小明

前端开发工程师

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/18 10:11:30

为什么你的场景阴影看起来“假”?4个专业级调优技巧揭秘

第一章&#xff1a;为什么你的场景阴影看起来“假”&#xff1f;在实时渲染中&#xff0c;阴影是增强场景真实感的关键元素。然而&#xff0c;许多开发者发现即使启用了阴影功能&#xff0c;最终效果仍然显得生硬或不自然。这通常并非因为光源设置错误&#xff0c;而是由于对阴…

作者头像 李华
网站建设 2026/4/23 12:50:48

GraphQL架构优化实战(PHP类型系统复用全解)

第一章&#xff1a;GraphQL架构优化的核心挑战在现代Web应用中&#xff0c;GraphQL因其灵活的数据查询能力逐渐取代传统REST API。然而&#xff0c;随着业务复杂度上升&#xff0c;GraphQL架构面临诸多性能与可维护性挑战。过度获取与请求爆炸问题 GraphQL允许客户端精确选择所…

作者头像 李华
网站建设 2026/4/25 9:39:21

凤希AI伴侣 V1.3.1.0你的私人AI工作台,这次彻底解放生产力!灵感秒变方案,碎片时间价值翻倍,这才是你需要的AI助手发布日期:2025-12-14

&#x1f525; 本次更新核心&#xff1a;从“对话工具”到“生产力中枢”我们不只是增加了几个功能&#xff0c;而是重新定义了AI如何融入你的工作流。告别零散的AI工具&#xff0c;迎接一个集创作、管理、优化于一体的私人智能工作台。&#x1f680; 五大新增功能&#xff0c;…

作者头像 李华
网站建设 2026/4/18 0:15:55

详细教程:iOS应用中Swift代码混淆步骤与工具推荐

iOS 对 Swift 代码进行混淆的流程指南 在当今的软件开发环境中&#xff0c;代码混淆是一种保护源代码的有效手段&#xff0c;特别是在移动应用开发中。混淆可以加大逆向工程的难度&#xff0c;从而保护你的知识产权。本文将为刚入行的小白提供一个关于如何在 iOS 应用中对 Swif…

作者头像 李华
网站建设 2026/4/22 7:25:13

基于51单片机的万年历系统设计与实践

一、系统设计目标与需求拆解 在嵌入式电子设计与日常时间管理需求的结合下&#xff0c;基于51单片机的万年历系统&#xff0c;核心目标是实现高精度、低功耗的时间显示与管理功能&#xff0c;解决传统机械日历功能单一、调整繁琐的问题。从需求层面看&#xff0c;系统需具备基础…

作者头像 李华