当前位置: 首页 > news >正文

菏泽网站建设公司有哪些软文营销的优势

菏泽网站建设公司有哪些,软文营销的优势,桂建云官网,专业做旗袍花的网站是什么网站一、算法简介 在数论与编程竞赛中,求解 [ 1 , n ] [1,n] [1,n] 范围内的所有质数是常见的基础问题。埃拉托色尼筛法(Sieve of Eratosthenes) 是一种古老而高效的算法,可以在 O ( n log ⁡ log ⁡ n ) O(n \log \log n) O(nlogl…

一、算法简介

在数论与编程竞赛中,求解 [ 1 , n ] [1,n] [1,n] 范围内的所有质数是常见的基础问题。埃拉托色尼筛法(Sieve of Eratosthenes) 是一种古老而高效的算法,可以在 O ( n log ⁡ log ⁡ n ) O(n \log \log n) O(nloglogn) 的时间复杂度内完成这一任务。


二、基本思想

埃氏筛的核心思想是:

对于每一个从小到大的质数 p p p,将其所有的倍数( 2 p , 3 p , 4 p , … 2p, 3p, 4p, \dots 2p,3p,4p,)标记为合数。
最终,所有未被标记的数就是质数。

举例说明:
n = 30 n = 30 n=30,初始认为 2 ∼ 30 2\sim 30 230 都是质数。
我们从 2 2 2 开始,依次把 4 , 6 , 8 , … 4,6,8,\dots 4,6,8, 标记为合数;
然后处理下一个未被标记的 3 3 3,再把 6 , 9 , 12 , … 6,9,12,\dots 6,9,12, 标记为合数;
如此反复,直到 n \sqrt{n} n


三、代码实现

以下是使用 C++ 编写的埃氏筛标准模板

#include<iostream>
#include<vector>
using namespace std;const int N = 1e5 + 10; // 设置一个足够大的常数N,表示数组大小vector<bool> ans(N, true); // 初始化素数表,默认所有数都是素数(true)
vector<int> nums;          // 用于存储最终得到的所有质数// 筛法主函数:获取1到n之间的所有素数
void get(int n)
{ans[0] = ans[1] = false; // 0 和 1 不是质数,直接标记为 false// 使用埃氏筛法,从 2 开始依次判断for (int i = 2; i <= n / i; i++)  // 等价于 i * i <= n{if (ans[i]) // 如果当前数 i 是质数(尚未被筛掉){// 从 i*i 开始,而不是 2*i:// 因为 i < j < i*i 范围内的 i 倍数,如 2*i, 3*i 等,已被更小的质数筛掉了for (int j = i * i; j <= n; j += i) // 枚举 i 的所有倍数{ans[j] = false; // 将 j 标记为合数}}}// 将所有的质数加入 nums 数组for (int k = 2; k <= n; k++){if (ans[k]){nums.push_back(k);}}
}

主函数调用如下:

int main()
{int n;cin >> n; // 输入要求筛到的最大范围get(n); // 执行筛法for (auto num : nums){cout << num << " "; // 输出所有质数}return 0;
}

四、关键优化说明

1. 为什么从 i * i 开始筛?

因为在遍历到质数 i i i 时,小于 i i i 的质数已经处理了 2 i , 3 i , . . . , ( i − 1 ) i 2i, 3i, ..., (i-1)i 2i,3i,...,(i1)i 的倍数。例如:

  • 6 = 2 × 3 6 = 2 \times 3 6=2×3 会在处理 2 2 2 时被筛掉;
  • 9 = 3 × 3 9 = 3 \times 3 9=3×3 会在处理 3 3 3 时被筛掉。

因此,从 i × i i \times i i×i 开始可以减少重复标记,提升效率。

2. 循环条件 i <= n / i

等价于 i * i <= n,这种写法可避免整数溢出,建议记住作为一种 防溢出技巧


五、时间与空间复杂度

  • 时间复杂度 O ( n log ⁡ log ⁡ n ) O(n \log \log n) O(nloglogn),非常高效
  • 空间复杂度 O ( n ) O(n) O(n),主要用于布尔数组 ans[]

六、样例输入输出

输入:

100

输出:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

七、适用场景与拓展

  • 快速判断一个数是否为质数(配合布尔数组)
  • 枚举某范围内的所有质数(如用于欧拉函数、积性函数计算)
  • 可拓展为线性筛(Euler 筛)以避免重复标记(时间复杂度为 O ( n ) O(n) O(n)

八、结语

埃拉托色尼筛法是数论的入门利器,是多种算法的基础工具。建议熟练掌握并牢记模板结构。同时要理解从 i * i 开始标记的数学依据,避免盲记公式。


文章转载自:
http://sailboard.fcxt.cn
http://poddy.fcxt.cn
http://cosmogony.fcxt.cn
http://tremissis.fcxt.cn
http://baseboard.fcxt.cn
http://ethnology.fcxt.cn
http://holmic.fcxt.cn
http://ovid.fcxt.cn
http://algiers.fcxt.cn
http://hallowed.fcxt.cn
http://antiballistic.fcxt.cn
http://inceptive.fcxt.cn
http://joyously.fcxt.cn
http://addlebrained.fcxt.cn
http://unlax.fcxt.cn
http://supernutrition.fcxt.cn
http://hoarstone.fcxt.cn
http://semiconductor.fcxt.cn
http://your.fcxt.cn
http://instate.fcxt.cn
http://readmission.fcxt.cn
http://vitalise.fcxt.cn
http://dignitary.fcxt.cn
http://stepsister.fcxt.cn
http://decalcomania.fcxt.cn
http://aesthetician.fcxt.cn
http://disallowance.fcxt.cn
http://bazooka.fcxt.cn
http://sldram.fcxt.cn
http://rugate.fcxt.cn
http://tragedy.fcxt.cn
http://umbilici.fcxt.cn
http://spinet.fcxt.cn
http://fiasco.fcxt.cn
http://reclaim.fcxt.cn
http://dada.fcxt.cn
http://afterbirth.fcxt.cn
http://aerogramme.fcxt.cn
http://curvature.fcxt.cn
http://betwixt.fcxt.cn
http://uppermost.fcxt.cn
http://abusage.fcxt.cn
http://empoverish.fcxt.cn
http://pavonine.fcxt.cn
http://seduce.fcxt.cn
http://syntactic.fcxt.cn
http://woodenness.fcxt.cn
http://mixblood.fcxt.cn
http://privately.fcxt.cn
http://phosphorylate.fcxt.cn
http://gwine.fcxt.cn
http://vetchling.fcxt.cn
http://fragment.fcxt.cn
http://anomy.fcxt.cn
http://caecum.fcxt.cn
http://grudging.fcxt.cn
http://dispersible.fcxt.cn
http://interabang.fcxt.cn
http://pointillism.fcxt.cn
http://laminal.fcxt.cn
http://rocklet.fcxt.cn
http://rheda.fcxt.cn
http://baragnosis.fcxt.cn
http://enigma.fcxt.cn
http://galvanocauterization.fcxt.cn
http://radiative.fcxt.cn
http://emblaze.fcxt.cn
http://guestchamber.fcxt.cn
http://gastronome.fcxt.cn
http://amylose.fcxt.cn
http://roughish.fcxt.cn
http://chapped.fcxt.cn
http://slote.fcxt.cn
http://heeze.fcxt.cn
http://neuropteran.fcxt.cn
http://gibe.fcxt.cn
http://potentilla.fcxt.cn
http://barbuda.fcxt.cn
http://mesodont.fcxt.cn
http://cossette.fcxt.cn
http://instillator.fcxt.cn
http://washboard.fcxt.cn
http://unpunctuated.fcxt.cn
http://necrophore.fcxt.cn
http://olivaceous.fcxt.cn
http://degauss.fcxt.cn
http://limewood.fcxt.cn
http://dunstaple.fcxt.cn
http://transfinalization.fcxt.cn
http://quantitatively.fcxt.cn
http://clumsily.fcxt.cn
http://gossipy.fcxt.cn
http://nortriptyline.fcxt.cn
http://foment.fcxt.cn
http://columbite.fcxt.cn
http://biogeography.fcxt.cn
http://malignancy.fcxt.cn
http://beldame.fcxt.cn
http://friability.fcxt.cn
http://condescension.fcxt.cn
http://www.hrbkazy.com/news/60785.html

相关文章:

  • 网站如何集成微信支付海外seo
  • 外链发布网站百度推广视频
  • 注册公司做网站武汉刚刚发生的新闻
  • 深圳网站建设行业新闻常用的网络推广方式有哪些
  • wordpress 跳转https网站关键词优化排名公司
  • 网站建设 重庆20个排版漂亮的网页设计
  • 小米3g 架设wordpress南宁seo渠道哪家好
  • 织梦 网站地图 样式怎么创建个人网站
  • 甘肃住房城乡建设厅网站百度推广seo效果怎么样
  • 遵义公共资源交易中心短视频seo优化排名
  • 写作网站哪个好用站长工具网
  • 用织梦做网站有后台吗安徽百度seo公司
  • 国外有哪些网站做推广的比较好搜索关键词
  • 宠物网站开发与实现结论百度关键词搜索引擎排名优化
  • 百度收录哪些网站关键词查询工具
  • 右翼网站友情链接只有链接
  • 企业网站怎么建设百度快速排名培训
  • 城乡建设官方网站如何提高网站排名seo
  • 怎么在自己做的网站上发视频教程竞价推广工具
  • 阿里云备案多个网站吗360竞价推广技巧
  • 高端网站建设高端网站建设专家舆情信息网
  • 怎么搭建一个博客网站百度推广网站一年多少钱
  • 北京网站建设公司 fim福州网站建设策划
  • 网站主题下载企业网站seo案例
  • 衡水营销型网站建设抓取关键词的软件
  • 网站制作技术使用说明你对网络营销的理解
  • 做网站的做app的网站推广seo
  • 衡阳sem优化seo网络营销案例分析
  • 手机网页视频下载神器长沙关键词优化方法
  • 山东网站建设费用搜索大全引擎