筛法

来源:互联网 发布:淘宝双十一活动怎么报 编辑:程序博客网 时间:2024/05/18 01:01

筛法,是求不超过自然数N(N>1)的所有质数的一种方法。据说是古希腊的埃(Eratosthenes,约公元前274~194年)发明的,又称埃拉托斯特尼筛子。

  具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。因为希腊人是把数写在涂腊的板上,每要划去一个数,就在上面记以小点,寻求质数的工作完毕后,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称“筛法”。(另一种解释是当时的数写在纸草上,每要划去一个数,就把这个数挖去,寻求质数的工作完毕后,这许多小洞就像一个筛子。)工作完毕后,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称“筛法”。(另一种解释是当时的数写在纸草上,每要划去一个数,就把这个数挖去,寻求质数的工作完毕后,这许多小洞就像一个筛子。)

  筛法与公式的关系:   素数普遍公式: 公元前250年同样是古希腊的数学家埃拉托塞尼提出一种筛法:   

      (一)“要得到不大于某个自然数N的所有素数,只要在2---N中将不大于√N的素数的倍数全部划去即可”。   

      (二)将上面的内容等价转换:“如果N是合数,则它有一个因子d满足1<D≤√N”。(《基础数论》13页,U杜德利著,上海科技出版社)。 

      (三)再将(二)的内容等价转换:“若自然数N不能被不大于(根号)√N的任何素数整除,则N是一个素数”。见(代数学辞典[上海教育出版社]1985年。屉部贞世朗编。259页)。   

      (四)这句话的汉字可以等价转换成为用英文字母表达的公式:   N=p1m1+a1=p2m2+a2=......=pkmk+ak 。(1)   其中 p1,p2,.....,pk表示顺序素数2,3,5,,,,,。a≠0。即N不能是2m+0,3m+0,5m+0,...,pkm+0形。若N<P(k+1)的平方 [注:后面的1,2,3,....,k,(k+1)是脚标,由于打印不出来,凡字母后面的数字或者i与k都是脚标] ,则N是一个素数。

  (五)可以把(1)等价转换成为用同余式组表示:   N≡a1(modp1), N≡a2(modp2),.....,N≡ak(modpk)。 (2)   例如,29,29不能够被根号29以下的任何素数2,3,5整除,29=2x14+1=3x9+2=5x5+4。 29≡1(mod2),29≡2(mod3), 29≡4(mod5)。29小于7的平方49,所以29是一个素数。

  以后平方用“*”表示,即:㎡=m*。   

      由于(2)的模p1,p2,....,pk 两两互素,根据孙子定理(中国剩余定理)知,(2)在p1p2.....pk范围内有唯一解。   例如k=1时,N=2m+1,解得N=3,5,7。求得了(3,3*)区间的全部素数。   

      k=2时,N=2m+1=3m+1,解得N=7,13,19; N=2m+1=3m+2,解得N=5,11,17,23。求得了(5,5*)区间的全部素数。   

      k=3时,   

      ---------------------| 5m+1-|- 5m+2-| 5m+3,| 5m+4.|   

      ---------------------|---------|----------|--------|---------|   

      n=2m+1=3m+1= |--31----|--7, 37-|-13,43|--19----|   

      n=2m+1=3m+2= |-11,41-|-17,47-|--23---|---29---|   

      ------------------------------------------------------------   

      求得了(7,7*)区间的全部素数。

  仿此下去,可以求得任意大的数以内的全部素数。

  文章(作者王晓明)。

原创粉丝点击