求取1到n的素数的数学思想——埃拉托斯特尼筛法

埃拉托斯特尼筛法:

埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。

具体思想:

要得到自然数n以内的全部素数,必须把不大于的所有素数的倍数剔除,剩下的就是素数。 给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,

把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去...

算法的计算机思路:

eg: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25

第一步:从左到右第一个素数是2,2的平方是4,小于目前的最大数25,则去除2的所有倍数4,6,8...  ,

剩余:2,3,5,7,9,11,13,15,17,19,21,23,25,

第二步:从左至右第二个素数是3,3的平方9小于25,去除他的倍数

剩余:2,3,5,7,11,13,17,19,23,25

第三步,是5,5的平方25=25,去除5的倍数、

剩余:2,3,5,7,11,13,17,19,23

 

 

有梦而生,一行无憾!
原文地址:https://www.cnblogs.com/YM99/p/15319201.html