[素数筛][容斥原理]:埃拉托斯特尼筛法

这篇具有很好参考价值的文章主要介绍了[素数筛][容斥原理]:埃拉托斯特尼筛法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

求解问题:不超过一个给定正整数N的素数的个数

方法介绍:

根据合数的性质:一个合数可以被一个不超过它的平方根的素数整除

这里举例N=100:

介绍:为了找出不超过100的素数个数,首先根据合数的性质可以知道:100的合数一定有一个不超过10的素因子。因为小于10的素数仅有:2,3,5,7,因此不超过100的素数就是这4个素数以及那些大于1和不超过100且不被2,3,5,7整除的正整数。

应用容斥原理:我们令P1:整数能被2整除   P2:整数能被3整除    P3:整数能被5整除  P4:整数能被7整除。

于是答案就是:[素数筛][容斥原理]:埃拉托斯特尼筛法

关于解释:同时不满足P1,P2,P3,P4性质的个数

ps:已知结论:在1-N之间,有个能被x整除的数

由于存在99个比1大且不超过100的正整数,所以由容斥原理说明:

[素数筛][容斥原理]:埃拉托斯特尼筛法

不超过100(且大于1)并被{2,3,5,7}的子集中的所有素数整除的正整数个数是,其中N是这个子集中的素数之积。(因为任意两个素数都没有公因子)。因此:

[素数筛][容斥原理]:埃拉托斯特尼筛法

ans: 

[素数筛][容斥原理]:埃拉托斯特尼筛法

因此存在:[素数筛][容斥原理]:埃拉托斯特尼筛法个不超过100的素数

ps:有趣的是,这个算法求解素数个数的时间复制度为:O(1).....qwq文章来源地址https://www.toymoban.com/news/detail-403281.html

到了这里,关于[素数筛][容斥原理]:埃拉托斯特尼筛法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [数论第四节]容斥原理/博弈论/NIM游戏

    (|Acup Bcup C|=|A|+|B|+|C|-|Acap B|-|Acap C|-|Bcap C|+|Acap Bcap C|) (|displaystyle cup_{i=1}^n A_i |=sum_{i}|A_i|-sum_{i,j} |A_i cap A_j|+ldots +(-1)^{n+1}|cap_{i=1}^n A_i |) 时间复杂度: (C_n^1+C_n^2+C_n^3···+C_n^n=2^n-1) (O(2^n-1)) 等式右边有 (2^n-1) 项,每一项表示选取若干个集合相交的情况,可以通过

    2024年02月13日
    浏览(40)
  • 算法基础学习笔记——⑬高斯消元\组合计数\容斥原理

    ✨ 博主: 命运之光 ✨ 专栏: 算法基础学习 目录 ✨高斯消元 ✨组合计数 🍓通过预处理逆元的方式求组合数: 🍓Lucas定理: 🍓分解质因数法求组合数: 前言: 算法学习笔记记录日常分享,需要的看哈O(∩_∩)O,感谢大家的支持! 高斯消元(Gaussian Elimination)是一种用于解线

    2024年02月07日
    浏览(37)
  • LeetCode 2409. Count Days Spent Together【前缀和,容斥原理】简单

    本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,

    2023年04月17日
    浏览(35)
  • LeetCode 周赛 342(2023/04/23)容斥原理、计数排序、滑动窗口、子数组 GCB

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 前天刚举办 2023 年力扣杯个人 SOLO 赛,昨天周赛就出了一场 Easy - Easy - Medium - Medium 的水场,不得不说 LeetCode 是懂礼数的 😁。 接下来,请你跟着小彭的思路,一步步将问题做难,

    2023年04月24日
    浏览(36)
  • Miller-Rabin大素数判断算法的原理及其实现

    一、摘要         大数素性检测一直是数论界、密码学界等经久不衰的研究方向,实现大数素性检测的算法也在不断地被改进。目前已经出现了很多大数素性检测的算法,而Miller-Rabin算法在其中显得十分耀眼。本文调研了常见的大素数判断算法,并详细介绍了Miller-Rabin大

    2024年02月09日
    浏览(37)
  • 筛法--朴素筛法和埃式筛法和线性筛法

    朴素筛法:  这个朴素算法的 思路 就是,枚举这些数,首先在st数组初始化时,就是已经把这个数组内的值都初始化为0,也就是说都是看成是质数。。。。 然后,如果这个数确实是质数,那么我们就可以把这个数放入我们存质数的数组里面去,然后对质数的个数进行增加,

    2024年02月07日
    浏览(58)
  • 欧拉函数和线性筛法:AcWing 874. 筛法求欧拉函数

    1. 属于是先手推数学式子,然后代码比较简单的题目 2. 线性筛法,之前接触过一道类似的线性筛法的题目:线性筛法 3. 线性筛法是一个算法模板 顺便写一下这一道题目的笔记:AcWing 868. 筛质数 4. 下面详细分析一下线性筛法之外的数学部分的内容 5. 从1一直到某一个质因子的

    2024年02月08日
    浏览(35)
  • C++数论————质数筛法(单独判断一个数,判断N个数) 埃氏筛法

    质数想必大家都不陌生 从小学到大 质数的概念: 一个数如果除了1和本身之外没有其他的因子,那么这个数被称为质数 今天要讲两个知识点: 在C++中如何判断一个数是否为质数 在C++中如何判断1-N之间哪些数为整数 在C++中如何判断一个数是否为质数 这个知识点较为简单 充分

    2023年04月08日
    浏览(50)
  • 线性筛法 O(n)

      线性筛O(n)而埃氏筛进行筛时会重复筛,线性筛不会出现这个问题 线性筛:对于某个合数使用其最小质因子筛去 st[primes[j] * i] = true;  因为这句话只会被执行一次,所以复杂度O(fn)  

    2023年04月09日
    浏览(91)
  • 欧拉算法与埃氏筛法比较

       

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包