问题:

求正整数N以内的全部素数。

思路:

1.从最小的素数x开始(x称作筛数),将所有N以内的x的倍数删除。
2.接着x为下一个素数,在此将其倍数删除。
3.重复以上操作,剩下的就是素数。

注意:

N以内素数的最大筛数为 x=sqrt(N)。每一个筛数,筛的第一个数应至少为其平方。

代码:

</pre><pre name="code" class="cpp"><span style="font-size:14px;color:#003333;">#include <iostream>
#include <math.h>
using namespace std;
void Eratosthenes(int);
int main()
{Eratosthenes(100);return 0;
}void Eratosthenes(int N) //N应该大于等于2
{bool a[N+1];for(int i=2;i++;i<=N){a[i]=true;}//默认都是素数int x=2;//最下的素数是2while(x<=sqrt(N)){int j=x*x;while(j<=N){a[j]=false;j+=x;}x++;while(!a[x])x++;}for(int i=2;i++;i<=N){if(a[i])cout<<i<<" ";}
}</span>

相关参考:

http://www.cnblogs.com/luzheng1/archive/2013/04/09/3009344.html
http://www.cnblogs.com/luluping/archive/2010/03/03/1677552.html

Eratosthenes筛法求素数相关推荐

  1. Eratosthenes,筛法求素数

    //筛法求区间[0,n]的所有素数,v为素数表 //v[i]==0,i为素数 void f(int n) {int m=sqrt(n+0.5);memset(v,0,sizeof(v));for (i ...

  2. Eratosthenes筛法求1-100之间的素数

    /* 写出不超过100的所有的素数. 解  将不超过100的正整数排列如下: 1   2   3   4   5   6   7   8   9  10 11  12  13  14  15  16  ...

  3. 一般筛法和快速线性筛法求素数 求素数的一点总结

    素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功. 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 ..N^(0.5) ,看看能否整除N. 如果需要判断的次数较多,则先用 ...

  4. 线性筛法求素数c语言,[算法]素数筛法(埃氏筛法线性筛法)

    一.素数筛的定义 给定一个整数n,求出[1,n]之间的所有质数(素数),这样的问题为素数筛(素数的筛选问题). 二.埃氏筛法(Eratosthenes筛法) 埃氏筛法又叫做Eratosthenes筛法 ...

  5. 一般筛法求素数+快速线性筛法求素数

    一般筛法求素数+快速线性筛法求素数 标签: 正则表达式算法优化扩展c 2010-08-22 01:28 28738人阅读 评论(8) 收藏 举报  分类: 算法学习资料(5)  版权声明:本文为博主原 ...

  6. CodeForce 236B Easy Number Challenge(筛法求素数 + 整数因式分解)

    题目链接:http://codeforces.com/problemset/problem/236/B Easy Number Challenge time limit per test 2 seco ...

  7. 1042: 筛法求素数

    1042: 筛法求素数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1387  Solved: 918 [Submit][Status][Web B ...

  8. 素数筛法求素数(线性时间)

    摘自:http://blog.csdn.net/once_hnu/article/details/6302283 逆向思维的典型应用! 1)普通方法判断素数:O(n*sqrt(n)) 2)筛法求素数: ...

  9. 数论 判断素数:普通素数判别 线性筛 二次筛法求素数 米勒拉宾素数检验

    普通的素数判断法 当我们要判断一个数字是否是素数的时候,往往会直接看这个数字模1到这个数字的根号,看有没有等于零的,从而判断这个数字是不是素数,这样做的时间复杂度为O(sqrt(n)) bool is ...

最新文章

  1. 推荐抓虾在线RSS阅读
  2. what is success?
  3. android apk瘦身之 图片压缩 tinypng
  4. [ZT ref=null]Javascript的IE和Firefox兼容性汇编
  5. es最新的集群选举策略
  6. all any 或 此运算符后面必须跟_用 ANY、SOME 或 ALL 修改的比较运算符
  7. css选择器的综合使用
  8. postgresql 分区视图_PostgreSQL架构集中式到分布式主流架构总结
  9. 【Python】Pygame入门
  10. Linux打包压缩.md
  11. [转载] python.day02笔记
  12. 数学三角形的所有定理!所有!
  13. 做软件测试三,四年后的感想
  14. c语言alpha通道的用法,alpha通道最主要的用途是什么
  15. 1080p和1080i有什么区别?
  16. 【054】七麦数据-应用商店中详细的应用大数据
  17. 图像篡改检测C语言,图像篡改检测和定位(二)
  18. 网易有道词典bug记录
  19. CISP查询具体步骤
  20. 计算机知识竞赛策划书前言,计算机知识竞赛策划书范文.docx

热门文章

  1. python库skimage 图像直方图均衡化、自适应均衡化、对比度拉伸实现
  2. 记录zedboard无法识别com的解决思路
  3. oa处理会签流程图_OA协同流程管理解决方案
  4. 【shell】echo不显示变量中的多个空格
  5. 《转》15种CSS混合模式让图片产生令人惊艳的效果
  6. C# 查农历 阴历 阳历 公历 节假日
  7. Could not load type 'System.DateTimeOffset'的问题
  8. 懒惰是人类进步的动力,勤奋是实现偷懒的途径
  9. [转载] Python 模块的设计和编写
  10. [转载] Python中字符串切片详解