您的位置:首页 > 其它

1.学习1: 埃拉托色尼筛选法(求一定范围内的质数)

2016-03-14 15:21 288 查看
前言:这是在刷leetcode第204题: Count Primes时hint提示的。

埃拉托色尼选筛法(the
Sieve of Eratosthenes)简称埃氏筛法,是古希腊数学家埃拉托色尼(Eratosthenes
274B.C.~194B.C.)提出的一种筛选法。 是针对自然数列中的自然数而实施的,用于求一定范围内的质数,它的容斥原理之完备性条件是p=H~。


步骤


(1)先把1删除(现今数学界1既不是质数也不是合数)

(2)读取队列中当前最小的数2,然后把2的倍数删去

(3)读取队列中当前最小的数3,然后把3的倍数删去

(4)读取队列中当前最小的数5,然后把5的倍数   删去                              

(5)如上所述直到需求的范围内所有的数均删除或读取

注:此处的队列并非数据结构队列,如需保留运算结果,处于存储空间的充分利用以及大量删除操作的实施,建议采用链表的数据结构。



C++实现




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: