QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2881|回复: 0
打印 上一主题 下一主题

素数判定式的推导与应用

[复制链接]
字体大小: 正常 放大

12

主题

5

听众

703

积分

升级  25.75%

  • TA的每日心情
    开心
    2016-6-7 21:23
  • 签到天数: 196 天

    [LV.7]常住居民III

    跳转到指定楼层
    1#
    发表于 2012-2-17 16:53 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    素数判定式
    海南省乐东县保显学校  陈泽辉
    数字,它是那么的简单,那么的朴素。可以说人类认识世界是从认识数字开始的,但是不知道是哪一天开始,人类偏要把数字分成偶数与奇数,还把奇数分出素数与奇合数。也许是人类与生俱来就是开拓自然的“鬼斧神工”吧,在漫漫岁月中,人类就是智慧的奴隶,永不休止地去发现与创新自然。7 c7 T1 J2 A5 L
    在人类认识数字、运用数字的历史长河里,有一种数——素数(只有1和它本身两个正因数的数),它始终披着炫丽的迷彩,犹如雨后的彩虹,总把七彩的美丽展现在人类的眼前,却不让人类捕捉。一直以来,素数以它那深邃、神秘、鬼魅的性情舞弄着人类的智慧,众多的数学先辈、伟大的数学家们对它束手无策,至今还任之逍遥、任之“香眠”。笔者爱好估摸与想像,在一次偶阅中得识《哥德巴赫猜想》简介,便对探究素数产生的极大的兴趣,经过几年的探究,自以为得一快捷探求与判明素数的方法,望投缘者给予描眉点睛:+ `  h; M0 r0 p  I( {
    一、素数判定式
    1 J- l& k$ R2 L6 k6 u* d7 b若n、x、y为非0正自然数,有n≠2xy+x+y时,则数A=2n+1为素数。如n=1、2、3、5、6、8、9、11……等等时,均不属于正整数集合2xy+x+y,因此数A=2n+1即3、5、7、11、13、17、19……等等为素数。而n=4、7、10、12、13、16、17……等等时,属于正整数集合2xy+x+y,因此数A=2n+1即9、15、21、27、33、35……等等为奇合数。理论证明素数个数无限:因为全体非0自然数并非能用数集2xy+x+y表示,也就是说非0正整数集合包含数集2xy+x+y或说数集2xy+x+y属于非0正整数集合的子集,所以在非0正整数集合中,永远存在n≠2xy+x+y,因此素数A=2n+1永远有无限多个。
    ! T6 G% L) d. I3 D4 f二、素数判定式的推导与论证
    1 f0 v* J7 ~4 }1 R* w) o在所有的自然中,一个数非偶数即为奇数。奇数可用2n+1表示,在奇数中,一个数要么是合数要么就是素数,也就是说当N为自然数时,2n+1要么是合数要么是素数。笔者把奇数A=2 n +1中的n称判定素数的因子,也就是说若数A为合数时,称n为非素数因子;若数A为素数时,称n为素数因子(素因子)。比如15=2×7+1是合数,则称7为非素数因子;而31=2×15+1为素数,则称15为素数因子,等等。所以要判明某一非0自然数是否为素数还是合数,只需去判定它的因子是否为素数因子或非素数因子便可。(为了便于说明,以下n、x、y字母所表示的数值皆为非0正自然数)。/ @4 R/ W- r+ m
    关于素数判定式,可以从两个方面来推导:首先,设一个奇合数为A=2 n +1,它有两个奇因数分别为P=2x+1与T=2y+1,则会有2 n +1=(2x+1)(2y+1)=4xy+2x+2y+1=2×(2xy+x+y)+1,即有n =2xy+x+y时,数A为合数。反之若n≠2xy+x+y,则数A必为素数。这是素数判定式的反例证明,如果需从无究的角度上来进一步举证,则可通过下面第二种方法得之。
    & S% \( ~* |% K% K其次,我们有知奇合数必定是由两个奇数相乘构成,如15=3×5、539=7×49……等,因此笔者把奇合数分为有因数3、5、7、9……(2N+1)进行分类整理:# F- @8 t) W& e
    1、以2×1+1=3为最小因数的奇合数有:3×3、3×5、3×7、3×9……3×(2y+1),设这时有x=1、y=1、2……n无究,则通式为(2x+1)(2y+1)。该奇合数链的素数判定因子依次为4、7、10、13……n,因为数链第1项为4,每递增一项值增大3,因此该奇合数链的素数判定因子链通项式为:3y+1=(2x+1)y+x,即为2xy+x+y。①& H! s1 q. b5 X8 J4 A
    2、以2×2+1=5为最小因数的奇合数有:5×5、5×7、5×9、5×11……5×(2y+1),设这时有x=2、y=1、2……n无究,则通式为(2x+1)(2y+1)。该奇合数链的素数判定因子依次为12、17、22、27……n。因为数链第1项为12,每递增一项值增大5,因此该素数判定因子链通项式为:5y+2=(2x+1)y+x,即为2xy+x+y。    ②
    5 A( h' g# l* L. c3、以2×3+1=7为最小因数的奇合数有:7×7、7×9、7×11、7×13……7×(2y+1),设这时有x=3、y=1、2……n无究,则通式为(2x+1)(2y+1)。该奇合数链的素数判定因子依次为24、31、38、45……。因为数链第1项为24,每递增一项值增大7,因此该素数判定因子链通项式为:7y+3=(2x+1)y+x,即为2xy+x+y。  ③
    5 ^0 P3 d6 K9 R' |; U" E……                 ……
    , Y( ?" ^( f( }M、以2×(2n+1)+1=N为最小因数的奇合数有:N×N、N×(N+2)、N×(N+4)、N×(N+6)……[2×(2n+1)+1]×[2×(2n+1)+1+2m] [2×(2n+1)+1]×[2×(2n+1+m)+1],因为(2n+1+m)所表示同样是任意自然数,而2×(2n+1+m)+1仍然是一个奇数,所以这时若设有x=(2n+1)、那么y=(2n+1+m)=1、2……n无究依然成立,则上面通式可为(2x+1)(2y+1)。该奇合数链的素数判定因子依次为2 x(x +1)、2 x(x +1)+(2 x +1)×1、2 x(x +1)+(2 x +1)×2、2 x(x +1)+(2 x +1)×3……2 x(x +1)+(2 x +1)×n。因为数链第1项为2 x(x +1),每递增一项值增大2 x +1,因此该素数判定因子链通项式为:(2 x +1)y+ x,即为2xy+x+y。     第M式
    . n& y. A( c. `7 r( X4 d! I因此,若有一个奇数A=2 n +1,它的素数判定因子n要是等于(2 x +1y+ x或2xy+x+y,那么该数为合数;反之若有一个奇数A=2 n +1,它的素数判定因子n要是不等于(2 x +1)y+ x或2xy+x+y,那么该数为素数。因此得素数判定式:若有n、x、y为非0自然数时,且有n≠2xy+x+y时,则数A=2n+1为素数。, d  [1 o5 k0 _3 U7 C
    证明1:有n=1时,数A=2N+1=2×(2xy+x+y)+1=2×(3y+1)+1=6y+3=3×(2y+1),此时数A是3的倍数,能整除3;有n=2时,数A=2N+1=2×(4y+2+y)+1=8y+4+2y+1=10y+5=5×(2y+1),此时数A是5的倍数,能整除5;……有N=n时,数A=2N+1=2×(4ny+n+y)+1=4ny+2n+2y+1=(2n+1)(2y+1),此时数A是(2n+1)的倍数,能整除(2n+1)。
    0 X, \5 K! ~, `6 a2 C; i证明2: 若有n、x、y为非0任意自然数,假设n=2xy+x+y为任意自然数, 那么:①、根据n=2xy+x+y得 ,当2x+1=1时,x与前提“有n、x、y为非0任意自然数”相矛盾。②、根据n=2xy+x+y得 ,当2x+1为奇合数时,则n- x必不能为素数(因为一个素数不能整除合数),如果n- x不能为素数,说明n取值不能为任意自然数,这与前提“有n、x、y为非0任意自然数”相矛盾。③、根据n=2xy+x+y得 ,当2x+1素数时,则n- x必为素数且与2x+1相等,这时“y=1, n=3x+1”, 这与前提“有n、x、y为非0任意自然数”相矛盾。综合上面三点可知2xy+x+y不能全等于非0自然数n ,或者说非0自然数n包含2xy+x+y,所以在非0自然数列中,2xy+x+y只是偶数或奇数的子集,也就是说n≠2xy+x+y永远存在,因此素数个数永远无限。
    - ^0 F  W* _2 |, g4 T$ C  E, o因此判定一个奇数A是否为素数,只要用数A=2 n +1的素数判定因子n代入关系式2xy+x+y里即能判明。用n不等于或等于2xy+x+y的前题来判定奇数是否是素数,此法只是一种素数判别式,它不能等同用于探寻第n个素数是几,但此法相较于试商法或X X 筛法,却能通过数字的缩放而尽大地简化了计算过程,从而达到更快判寻素数的效果,特别是此方法若用于计算机编程,更能体现出它的实用性。(而孪生素数判定式则是素数判定式的精装版)
    - M6 M- u6 A) ?3 @( H, x8 h三、非素数因子规律表! m' x5 L* K3 W
    把能整除3、5、7、9……2n+1奇合数的非素数因子整合成表,使得每个非素数因子都有相应坐标位置(如图表)。3 z* @7 N# I' U& L3 J" {+ H
    非素数判定因子汇总表
    Y行( k+ d' h0 k5 A9 i4 }/ I
    + Y4 f, @3 E7 O- S
    X列+ `6 q3 ]9 `; W2 G- S

    7 B& g7 R' X1 D3 J& }
    file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image004.gif
    1
    2
    3
    4
    5
    ……
    X
    1
    4
    2
    7
    12
    3
    10
    17
    24
    4
    13
    22
    31
    40
    5
    16
    27
    38
    49
    60
    6
    19
    32
    45
    58
    71
    ……
    7
    22
    37
    52
    67
    82
    ……
    2 X(2 X +1)
    8
    25
    42
    59
    76
    93
    ……
    2 X(2 X +1)+(2 X +1)×(Y-X)
    9
    28
    47
    66
    85
    104
    ……
    2 X(2 X +1)+(2 X +1)×(Y-X)
    ……
    ……
    ……
    ……
    ……
    ……
    ……
    ……
    Y
    3 Y +1
    5 Y +2
    7 Y +3
    9 Y +4
    11 Y +5
    ……
    2xy+x+y
    : F9 {! J0 S- N/ \3 \$ h
    第1列为能整除3奇合数的非素数因子集合……第X列为能整除2X+1合数的非素数因子集合;同理,第y行因子表示为能整除奇合数2 X +1的第y个奇合数的因子。不难得出当x=y时,非素数因子的通项式为2x(2x+1)或2y(2y+1),且在同一列式的(或同一行)因子数中,每增一行(或列)时,非素数因子增大2x+1(或2y+1)值。比如从点(x,y)起,每增一行数时非素数因子便增大(2x+1)×1值;每增二行数时非素数因子便增大(2x+1)×2值;……每增K行数时非素数因子便增大(2x+1)×K值;所以此表里任意非素数因子均可表示为:
    & R: ]3 I( }; v1 j! Q( j2 W①、2 x(x+1)+(2x+1)×K(x 为非0自然数,K=Y-X为任意自然数)。0 @  }  N% M' W, x! a
    ②、当x=y时(即行与列相交),非素数因子数集合可表示为2x(2x+1)或2y(2y+1)。
    $ I4 B2 d+ l- ^③、当行与列的关系为y =x+1时,表中素数判定因子数集合可表示为y =2 x 2+4 x +1。
    - y0 y, D. |/ T④、当行与列的关系为y =x+2时,表中素数判定因子数集合可表示为y =2 x 2+6 x +2。/ g5 b7 g& v8 X0 M! V$ X
    ……
    8 f5 |2 W: i7 a2 E⑤、当行与列的关系为y =x+ K时(K=Y-X为任意自然数),表中素数判定因子数集合可表示为y =2 x2+(2+2K)x+K。2 D  P2 f  V: a! w# w' X
    所以此非素数判定因子汇总表内容丰富,任你如何横竖、斜对的推敲,都能找出相应的关系式,值得去发掘,这对于探究或判别素数应该有用处。! e2 f( u* U" }& k0 J6 O6 a3 S' k
    四、素数判定式的几个运用
    ( f# P4 c' C- C综上所述,笔者介绍以下几种素数判别式的使用方法(或许是大数的分解法):  P2 B* i7 }- B
    ①、根据判别式2xy+x+y,若数2N+1的因子N=2xy+x+y即若有 (整除)时,N为非素数因子,则数2N+1有一个因数为2x+1。如49=2×24+1,把N =24代入 ,当x=1时,不能整除;当x=2时,不能整除;当x=3时,能整除,得出49是合数,有因数为2x+1=2×3+1=7。而83=2×41+1,把N =41代入 ,当x=1、2、3、4、5、6、7(最大取7,因为当取值时x=8时,y﹤1无意义),均不能整除,因此83为素数……+ _, y# L! x2 R' Z( P' x
    ②、根据列表所示,有素数判定因子通式2 x(x+1)+(2x+1)×K(K=X-Y),如有奇合数为2N+1,那么得出 ,若有K为自然数时(整除),N为非素数因子,则合数2N+1有一个因数为2x+1。如119=2×59+1,把59代入 ,当x=1、2时不能整除,当x=3时,该式K值等于5(K=5整除),因此N(59)为非素数因子,119为奇合数,它的两个因数为(2x+1)与2(x+K)+1(注:x+K=Y),即2×3+1=7与2×(3+5)+1=17;而199=2×99+1,把因子99代入 ,当x=1、2、3、4、5、6(最大取6,因为当取值时x=7时,y﹤1无意义),均不能整除,因此199为素数……) T6 m. |1 ?# W, l
    ③、据非素数因子通式N=2 x(x+1)+(2x+1)×K(K=X-Y),可知若N为非素数因子时,则K永远小于N。根据N=2 x(x+1)+(2x+1)×K,得出二次方程2 x2+2x+2K x +K-N=0,化简得一个关于x的二次方程:2 x2+(2+2K )x +(K-N)=0。该方程的两个根为x=[-(2+2K)±√4(K2+2N+1)]/4,如若方程有整数根,即x有整数解时,则数2N+1为合数,此时(K2+2N+1)必有完全平方根;反之,如若(K2+2N+1)没有完全平方根,那么x没有整数解,则数2N+1为素数。事实上当N、K为自数数时,(K2+2N+1)必是形如(a+1)2的完全平方式,因此(K2+2N+1)定有完全平方根。因为在非素数因子列表中,K值永远小于N,因此只要有在K<N时,(K2+2N+1)能开出整数平方根或配成完全平方式,此时数A=2N+1为合数,如91=2×45+1,在K=3﹤45有32+2×45+1=(9+1)2,所以91为奇合数,它的两个因数为2×K+1=7和(9+1)+K=13……;而数97=2×48+1,在K﹤48的数集内(K2+2N+1)没有完全平方根,有且仅有K=48时(K2+2N+1)才有完全平方根,素数判定因子式中“K值永远小于N”相矛盾,因此97是素数。……3 F' v) M/ M3 ^% s
    五、运用素数判定式试找特定合数前的素数个数4 j: F+ K8 f0 r, B
    根据非素数判定因子汇总表,我们大致可以找到特定数N2=2×[2 x(x+1)]+1前的素数个数:如若32=9=2×[2 ×1×(1+1)]+1,数9为最小的奇合数,所以它(9=2×4+1)前面有4-1=3个奇素数(3、5、7);如若52=25=2×[2 ×2×(2+1)]+1,因为小于2×2前还有1×3、1×2、1×1共3组,则奇合数25(25=2×12+1)前面有12-4=8个奇素数(3、5、7、11、13、17、19、23);如若72=49=2×[2 ×3×(3+1)]+1,因为小于3×3前还有1×7、1×6、1×5、1×4、1×3、1×2、1×1、2×4、2×3、2×2共10组(因在2xy+x+y框架内,当x=1、y=8时2xy+x+y的值大于x=3、y=3时的值,因此1×8不属排除之列;而2×1、3×2、3×1亦有1×2、2×3、1×3,所以也不属排除之列),当则奇合数49(25=2×24+1)前面有24-10=14个奇素数(3、5、7、11、13、17、19、23、29、31、37、41、43、47);……此法只为估摸计算素数个数,仅供参考,但是否可用于论证“n2与(n+1)2之间至少必有一个素数”的猜想呢?欢迎来到博客http://107681778.blog.163.com/0 I; Q" R2 n2 K$ U% ~
    & }1 q# l; C- g  g8 j8 u

    * N; ?4 U- w+ R1 b 9 \9 V# h: G( E. N2 i$ I
    & L! z( D) E. X! C4 J6 m
    1 g1 [, `3 q1 S2 Z; ?; F  v
    / L& F; m4 a- L
    2012年2月, o9 A  N' I7 z+ @6 n8 C
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-30 03:39 , Processed in 0.247949 second(s), 50 queries .

    回顶部