本文转自于:http://dalu.blogbus.com/logs/37977984.html

由于一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下的就是质数了。
例如要查找100以内的质数,首先2是质数,把2的倍数去掉;此时3没有被去掉,可认为是质数,所以把3的倍数去掉;再到5,再到7,7之后呢,因为8,9,10刚才都被去掉了,而100以内的任意合数肯定都有一个因子小于10(100的开方),所以,去掉,2,3,5,7的倍数后剩下的都是质数了。
用程序可以这样解决,引入布尔类型数组a[i],如果i是质数,a[i]=true,否则a[i]=false。那么划掉i可以表示成a[i]=false。

 //找出n以内质数
void Sieve(int n){bool[] a = new bool[n+1];for (int i = 2; i <= n; i++)  a[i] = true; for (int i = 2; i <= Math.Sqrt(n); i++){if (a[i])for (int j = i; j*i <= n; j++) a[j * i] = false;}for (int i = 0; i <= n; i++){if (a[i])Console.Write("{0},",i.ToString());}}

  如果去掉最后一个用来显示结果的循环的话,运行Sieve(10000000)只要1秒多。

转载于:https://www.cnblogs.com/renyuan/p/3451738.html

C/C++查找一定范围内的素数(筛法)相关推荐

  1. kotlin 查找id_Kotlin程序查找给定范围内的素数

    kotlin 查找id A prime number is a natural number that is greater than 1 and cannot be formed by multip ...

  2. 快速查找计算9百万万亿整数内全部素数(质数)的C++代码

    用素数筛查找小于等于某个给定整数的全部素数,是一种较为高效的方法,具体的原理网上很多,这里就不赘述了. 但即使都是运用的素数筛原理,不同的算法设计,也可以带来巨大的效率差异.最近从网上搜索学习了相关的 ...

  3. Python 计算从1-N(N可以任何数)内的素数(并行计算、多线程优化计算)

    Python 计算从1-N(N可以任何数)内的素数(算法优化.并行计算.多线程优化计算) 1.项目介绍 1.1研究背景 1.2题目介绍 2.项目优化过程 2.1 源代码 2.2 优化1 - 数理的角度 ...

  4. ACMNO.17C语言-筛法求素数 用筛法求之N内的素数。

    题目描述 用筛法求之N内的素数. 输入 N 输出 0-N的素数 样例输入 100 样例输出 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7 ...

  5. python输出所有素数_Python实现输出某区间范围内全部素数的方法

    本文实例讲述了Python实现输出某区间范围内全部素数的方法.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- # 简述:区间范围101-200 # 要求:判断这个区间 ...

  6. 使用simple transformation查找xml file内某个节点的attribute是否存在指定value

    Created by Jerry Wang on Jun 05, 2014 下列report实现通过simple transformation查找xml 文件内下列路径的节点ds其attribute ...

  7. JAVA-基础(查找文件夹内文件)

    JAVA-基础(查找文件夹内文件) 1.目的? 查找指定文件夹内的文件.以查询.txt结尾的文件为例. 2.分析? 目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录. 遍历目录时,获取的子文件 ...

  8. javascript 显示一定范围内的素数(质数)

    素数又称质数,是大于1的自然数,并且只有1和它本身两个因数. 具体实现代码如下: 运行代码 <!DOCTYPE HTML> <html> <head lang=" ...

  9. java求2到100内的素数_java学习日记-基础-列出2~100内的素数

    素数的概念:一个整数如果只能整除1和它本身,那么这个整数就是一个素数 方法一:素数是除去能被2整除.3整除.5整除.7整除的整数,但包含2,3,5,7 public classSushu {publi ...

最新文章

  1. git config命令使用
  2. 反弹模型(bounce model)----adot, H, Hdot变化图
  3. Java架构-面试前必须知道的MySQL命令【explain】
  4. 利用excel办公软件快速拼凑sql语句
  5. 分治法:快速排序,3种划分方式,随机化快排,快排快,还是归并排序快?
  6. matlab中m文件的作用,M文件主要包含()_matlab中m文件的好处
  7. python 爬虫-beautifulsoup4
  8. IROS 2017上,这些厂商将会给我们展示什么样的黑科技?
  9. vue watch监听对象
  10. Theano 中文文档 0.9 - 7.2.4 条件
  11. 基于jquery.fixedheadertable 表格插件左侧固定 对齐
  12. php ajax session,Ajax处理用户session失效
  13. centos 上安装bugzilla 详解
  14. moonlight不显示鼠标指针
  15. 【排序】动画演示10大排序算法
  16. 基于二叉链表的二叉树最长路径的求解
  17. 条码打印软件如何制作二维码
  18. Netty实战《原理》
  19. 常见电脑蓝屏代码以及解决办法
  20. 两对等位基因控制一对相对性状的规律(基因互作)

热门文章

  1. apache ajax 跨域访问,Apache 实现AJAX跨域请求
  2. C语言开发笔记(五)字符串常量
  3. socket 编程:回射客户/服务程序
  4. 160 - 4 ajj.1
  5. 表示和描述-边界追踪
  6. Java Hashtable size()方法与示例
  7. Python中@staticmethod和@classmethod之间的区别
  8. 在给定总和K的二叉树中找到级别
  9. 查看照片的指定位置的像素点值,并在照片中绘制一条指定像素颜色的线段
  10. TomCat使用以及端口号被占用的处理方法