news 2026/7/7 11:27:30

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

作者头像

张小明

前端开发工程师

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/7/6 23:49:35

YOLOv10n-MFM在城市裸地检测中的应用:从算法到实践的完整指南

1. YOLOv10n-MFM在城市裸地检测中的应用&#xff1a;从算法到实践的完整指南 1.1. 引言 城市裸地检测是智慧城市建设中的重要环节&#xff0c;它可以帮助城市规划者及时了解城市土地利用状况&#xff0c;监测裸露土地的变化趋势&#xff0c;为城市绿化、水土保持等工作提供数…

作者头像 李华
网站建设 2026/7/7 13:43:03

影刀RPA补货革命!亚马逊FBA智能补货,效率暴增1500% [特殊字符]

影刀RPA补货革命&#xff01;亚马逊FBA智能补货&#xff0c;效率暴增1500% &#x1f680;还在手动计算FBA补货数量&#xff1f;Excel公式算到头秃&#xff1f;别扛了&#xff01;今天我用影刀RPA打造智能补货机器人&#xff0c;3分钟生成精准补货计划&#xff0c;让你彻底告别&…

作者头像 李华
网站建设 2026/7/7 2:14:20

Rust调用PHP函数时异常如何透传?90%开发者忽略的关键细节

第一章&#xff1a;Rust扩展的PHP异常传递在构建高性能PHP扩展时&#xff0c;Rust因其内存安全和执行效率成为理想选择。当使用Rust编写PHP扩展时&#xff0c;异常处理机制必须与PHP的运行时系统兼容&#xff0c;确保错误能够被正确抛出并由PHP脚本层捕获。异常传递的基本原理 …

作者头像 李华