当前位置:   article > 正文

对高效率素数求解算法进行时间复杂度分析_产生大素数最高效的算法的复杂度

产生大素数最高效的算法的复杂度
最近在复习数据结构的内容,特别是如何计算一个算法的时间复杂度。
在解习题的过程中找到一份高效率的素数求解算法,在这里分析一下算法的时间复杂度。

算法引自:http://blog.csdn.net/aleac/article/details/6430408

  1. void GetPrimes(int n) // 对于输入的整数n,将所有小于n的素数打印到屏幕上
  2. {
  3.         bool *temp=new bool[n];
  4.         for(int i=0;i!=n;++i) // 第一个循环
  5.             temp[i]=true; //用来判断是否是素数的数组 
  6.         temp[2]=true;
  7.         for(int i=2;i!=n/2;++i) // 第二个循环
  8.         {
  9.             if(temp[i])
  10.             {
  11.                 int j=2;
  12.                 while(i*j<n) //素数的倍数都不是素数 第三个循环
  13.                 {
  14.                     temp[i*j]=false;
  15.                     ++j;
  16.                 }
  17.             }
  18.         }
  19.         
  20.         for(int i=2;i!=n;++i) // 第四个循环
  21.         {
  22.             if(temp[i])
  23.             {
  24.  
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/75235
推荐阅读
相关标签
  

闽ICP备14008679号