埃拉托塞尼筛法

质数有多少个?这个问题早在2000多年前就被古希腊著名数学家欧几里得解决了,他证明了质数有无数个。

那么,怎样从自然数中把质数给找出来呢?

公元前3世纪,古希腊数学家埃拉托塞尼想出一种有趣的方法:先把许多自然数按顺序列成一张数表,再按规则逐个划去不是质数的自然数,就得到这张数表中的全部质数。具体规则是:先划去1,因为1不是质数;1后面是2,它是最小的质数,应该保留,除2以外的2的倍数一定不是质数,应该划去;接下来的数是3,3是质数,应该保留,但除3以外的3的倍数一定不是质数,应该划去;……这样继续划下去,数表上剩下的就全是质数了。

据说当时埃拉托塞尼经常把数表写在涂了白蜡的木板上,遇到需要划去的数,就在那个数的位置上刺一个孔。随着合数逐一被划去,木板上变得千疮百孔,像是一个神奇的筛子,筛掉了合数,留下了质数。所以人们将这种找质数的方法叫做埃拉托塞尼筛法。

这是世界上最古老的一种找质数的方法。上面就是一个用埃拉托塞尼筛法得到的50以内的质数表。