news 2026/6/10 12:20:08

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

作者头像

张小明

前端开发工程师

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/6/10 10:34:50

十九、自己搭建frp实现内网穿透

目录 一、下载frp 二、配置文件 三、测试 我们现在的架构是vue在nginx中配置,然后请求会通过nginx访问gateway,gateway根据请求地址转发到对应服务。我们的nginx是配置在虚拟机(192.168.200.220)中。 本地已经能够成功跑起来了,可是我想外网访问,且不想花钱。因此我们…

作者头像 李华
网站建设 2026/6/10 11:54:52

冒泡排序---库函数qsort

目录 一. 冒泡排序 (1)什么是冒泡排序 (2)代码实现 (3)局限 二.qsort函数排序 注意事项: (1)在使用qsort函数需要包含的头文件.(2)在实现我们的compare函数时函数的参数必须和库里qsort函数的参数的类型一致. (3)记得将需要比较的数据将void类型转换类型. 三 模拟实现q…

作者头像 李华
网站建设 2026/6/10 7:13:58

【紧急避坑指南】:PHP 8.2+环境下Rust扩展适配的4个致命雷区

第一章&#xff1a;Rust-PHP 扩展的版本适配在构建 Rust 与 PHP 的桥接扩展时&#xff0c;版本兼容性是决定项目能否稳定运行的关键因素。由于 PHP 的内部 C API 在不同主版本间存在显著差异&#xff08;如 PHP 7.x 与 PHP 8.x&#xff09;&#xff0c;而 Rust 通过 FFI 调用这…

作者头像 李华
网站建设 2026/6/10 10:33:04

(R语言+金融工程)强强联合:打造高精度VaR模型的6大秘诀)

第一章&#xff1a;金融风险与VaR模型的核心概念在现代金融管理中&#xff0c;风险度量是投资决策和资产配置的关键环节。其中&#xff0c;**VaR&#xff08;Value at Risk&#xff0c;风险价值&#xff09;** 是衡量金融资产或投资组合在特定时间范围内可能遭受的最大潜在损失…

作者头像 李华
网站建设 2026/6/10 10:39:19

SAP S4HANA CDS view I_ProductSupplyPlanning初探

SAP S4HANA CDS view I_ProductSupplyPlanning初探笔者所在项目有些前卫&#xff0c;要求颇多&#xff0c;笔者刚来有些不太适应&#xff0c;笔者发现过去的经验不能直接拿来使用。比如项目要求撰写FS的时候&#xff0c;各个栏位的取值逻辑里不要出现table,而是要从某个CDS vie…

作者头像 李华