数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 3644|回复: 0

[原创]公理与素数计算

[复制链接]
发表于 2008-11-12 21:59 | 显示全部楼层 |阅读模式
[watermark]公理与素数计算
公理能够促进素数计算,素数计算能够验证公理的正确性。本方法为素数的实际计算方法,是不允许出现任何误差的。
所谓计算,就象乘法口诀3*7=21,它就是3*7的结果,无须数手指头来验算其结果是否正确。本计算方法也是一样,计算出来的素数,无须再除以小于它根号以下的素数来进行验证。其实,这种计算方法,在计算过程中本来就有一定的自检能力。
本计算方法与加、减、乘、除四则运算有两点区别:
1,加、减、乘、除四则运算是单一的运算方式,没有一定的关联性,故在运算中难予知道本次运算有无错误;本素数运算,属于关联性较强的运算方法,在运算过程中,能够通过其关联性得知本次运算有无错误,如果说有误应该如何进行检查和修正。
2,加、减、乘、除四则运算是单一的计算方式,一个题只要求计算一种结果;本素数计算是计算某区域内的素数,是多个素数同时计算出来,即多个结果。
本公理是我个人认为应该是公理,如果说大家在运用中,有依据地说明该公理是错误的,敬请指出。本公理也就是有位老师说的:整数与素数的分解定理。
公理,是难予证明的客观规律。不是意想天开的主观意愿。
这里所说的客观规律是指:两个或两个以上素数的乘积,可以形成一个合数,并且,只可以形成一个合数;反之,一个合数可以分解为两个或两个以上素数的乘积,并且,只可以分解为一组素数之间的乘积。
一、素数与自然数的关系
1、素数2,3与自然数的关系:素数2*3=6,自然数6之前,不能够被素数2,3分别整除的数有1和5。那么,自然数中不能够分别被素数2和3整除的数为:6X+1和6X+5。意思是说:在自然数中,每6个连续自然数,有2个数不能够分别被素数2和3整除;
2、素数2,3,5与自然数的关系:素数2*3*5=30,自然数30之前,不能够被素数2,3,5分别整除的数有1,7,11,13,17,19,23,29,共8个数。那么,自然数中不能够分别被素数2,3,5整除的数为:30X+1,30X+7,30X+11,30X+13,30X+17,30X+19,30X+23,30X+29。意思是说:在自然数中,每30个连续自然数,有8个数不能够分别被素数2,3,5整除;
3、素数2,3,5,7……N与自然数的关系:素数2*3*5*7……*N,自然数2*3*5*7……*N之前,不能够被素数2,3,5,7……N分别整除的数有(2-1)*(3-1)*(5-1)*(7-1)……*(N-1)个数。那么,自然数中不能够分别被素数2,3,5,7……N整除的数为:每2*3*5*7……*N个连续自然数中,有(2-1)*(3-1)*(5-1)*(7-1)……*(N-1)个数不能够分别被素数2,3,5,7,……N整除,这就是定数,固定不变的数!
我们知道:在计算自然数M之内的素数时,M平方根以下的素数为自然数M的删除因子,必须将所有删除因子倍数的数字全部删除完后,自然数M之内剩余的数字,自然数1除外,其它剩余数才是素数。
设所起自然数为M,√M=A,A为整数,素数删除因子为小于或等于A的素数。M必然界于2*3*5*……N之间,且2,3,5,……N只属于M的素数删除因子的一部份。故,我们在使用2,3,5,……N删除后的剩余数计算M内的素数时,还应该对大于N,小于A的素数删除因子倍数的数字进行删除后,M内剩余的数字(自然数1除外)才是素数。那么,如何准确删除大于N,小于A的素数删除因子倍数的数字呢?如果说,我们仍然采用将这些剩余数用大于N,小于A的素数分别试除进行删除,那就毫无意义。这里说到准确,明确地说:1、每一个素数删除因子B,对它倍数的数进行删除时,B只须要分别乘以某些数,即可以得到它的所有删除数,B不须要乘以无关的数而寻找不到删除数,对于每一个删除因子B的删除只须要一次完成;2、在对删除数的寻找时,是按照由于到大的顺序进行寻找,也是准确无误。本文的主要目的是:简化素数寻找程序,如我们在本文中,所列举的三个计算,都是删除数小于实际计算出来的素数个数。
根据公理,合数可以拆分为两个或两个以上素数的乘积,并且,只可以拆分为一组素数的乘积。因为,当合数拆分为两个或两个以上素数之间的乘积时,如果说涉及拆分为小素数(2,3,5,……N)中任何一个删除因子的乘积时,该合数必然是这个涉及到的小素数的倍数,该合数必然被这个小素数删除;如果说未涉及到(2,3,5,……N)中的任何一个小素数,那么,该合数必然存在于小素数(2,3,5,……N)删除后的剩余数之中。该合数必然为:大于N,小于A的素数的倍数,或者说是大于N,小于A的素数与大于N的素数或大于N的素数所组成的合数之间的乘积。由此,我们形成了素数的计算方法。
说起来是难予理解,具体操作是相当地简单。
二、具体计算方法举例
1、计算自然数100之内的素数。
因为,√100=10,所以,100之内的素数删除因子为:2,3,5,7。
又因为,100大于2*3=6,我们可以使用素数2,3删除后的剩余数等差数列6X+1和6X+5;同时100又大于2*3*5=30,我们也可以使用素数2,3,5删除后的剩余等差数列30X+1,30X+7,30X+11,30X+13,30X+17,30X+19,30X+23,30X+29。
为了使大家看得清楚些,我们选用6X+1和6X+5,在自然数100之内有以下剩余数:
1,5,7,11,13,17,19,23,25,29,31,35,37,41,43,47,49,53,55,59,61,65,67,71,73,77,79,83,85,89,91,95,97,共33个数字。
素数5的删除,在素数2,3删除后的基础上进行删除。根据公理得知:素数5与大于或等于5的素数的乘积,素数5与大于或等于5的素数所组成的合数的乘积。这些乘积都不包含小素数因子(2,3),不可能被小于5的素数排除或删除。必然在这些剩余数中能够寻找到删除数(下同。不再重复提起)。有100/5=20,即素数5乘以素数2,3删除后,大于5小于20的数(包括素数和合数):5,7,11,13,17,19得:25,35,55,65,85,95为素数5的删除数,共6个数;
素数7的删除,因100/7≈14。为素数7分别乘以7到14中素数2,3,5删除后的剩余数7,11,13得49,77,91。共3个数。
素数2,3删除后的剩余数共33个,减删除数9个,减自然数1,剩余23个加上已排除素数2,3为2个,自然数100之内素数共为25个。已经全部出现在我们面前。
即:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97。
2、计算1000之内的素数。
我们知道1000之内的素数,包括100之内的素数。我们可以从自然数100之后进行计算。
因为,1000大于2*3*5*7=210,210之内排除素数2,3,5,7的删除后剩余(2-1)(3-1)(5-1)(7-1)=48个剩余数,意味着每210个连续自然数中有48个数,不能够被素数2,3,5,7分别整除,这就是大于7的素数形成的基础,我们可以简称为大于7的素数的素基。下面我们多说两句。
素基的形成及必然联系。大于7的素数的素基是从大于5的素数的素基转化而来的。
大于5的素数的素基为:1,7,11,13,17,19,23,29。即每30个连续自然数中必然有8个数不可能被素数2,3,5,分别整除。
具体转化为,或者理解为:以素数2*3*5=30为公差,用这里的8个数为等差数列的首项,形成8个等差数列;或者理解为:用这8个数分别加上30N,这样我们的剩余数就会由小到大进行排列。
如果按等差数列的排列有:
30N+1有:1,31,61,91,121,151,181,删除91;
30N+7有:7,37,67,97,127,157,187,归档素数7;
30N+11有:11,41,71,101,131,161,191,删除161;
30N+13有:13,43,73,103,133,163,193,删除133;
30N+17有:17,47,77,107,137,167,197,删除77;
30N+19有:19,49,79,109,139,169,199,删除49;
30N+23有:23,53,83,113,143,173,203,删除203;
30N+29有:29,59,89,119,149,179,209。删除119;
如果看过我的文章的老师,一定会说怎么又是这张表?是的!又是这张表,它的内容太多了,我一时也看不清楚,所以,多次提出来进行共同探讨,每一次都必然有新的发现。
(1),从横向看,因为,数字与数字之间的等差为30,30不能够被素数7整除,故,这里所列出的每一排的7个连续数中,必然有一个数字能够被素数7整除;
(2),从纵向看,第1列的8个数字,为30之内的数,30之内的数乘以7必然小于210,所以,它们乘以素数7的积,必然能够在210之内寻找到删除数;又根据公理,素数7与不是素数2,3,5或2,3,5倍数的数的乘积,不可能被素数2,3,5进行删除,故,这8个数与素数7的乘积必然能够在这个表(素数2,3,5删除后的剩余数)中寻找到删除数字。下同:将这里删除后剩余的48个数为首项,以210为公差,形成48个等差数列,这里剩余的48个数分别乘以素数11,必然能够在前11项中寻找到删除数。以此类推地计算素基,如果说,再后面的计算素基中,发现有一个数寻找不到删除数,请检查首项能否被已经排除过的小素数整除,或者是数字写错了。
(3),再从纵向看,第1列的8个数字,除了是素数2,3,5删除的剩余数以外,好象没有任何联系。如果,我们用这8个数字,进行阶乘,可以做36个不同的两个数相乘的乘法。其积或者小于30或者大于30,我们把乘积大于30的数字减去30N,或者说除以30的余数,必然为这8个数字中的任何一个数字。下同:将这里删除后剩余的48个数,进行阶乘,其积或者小于210,或者大于210。我们将乘积大于210的数减去210N,或者说除以210的余数,必然为这里删除后剩余的48个数字中的一个数。以此类推,我们的删除数是否正确。
在由这些素基组成的等差数列中,数列A的数字乘以数列B的数字,其积在数列C中,(这里的A,B,C也可以是同一个数列),这一关系是固定关系,反过来说也成立,数列C中的合数,如果能够被数列A整除,其商必然为数列B中的数;如果能够被数列B整除,其商必然为数列A中的数。如果说,数列C的合数不能够被数列A中的数整除,必然与数列B无关。
(4)、再从纵向看,每1列的上下差距每与第1列相同,这个差距也就是大于5的素数的素基差距,这种关系的延续,到排除的素数删除因子的逐渐增多,可能就是人们所说的K生素数吧!
(5)、再从纵向看,这8个数字中,差距有相差2的,有相差4的,有相差6的。素数7在删除中,因为,对于每一排必然删除一个数字,对于7个相同的相差组来说,上下两排组成7个同样差距的7个相差组,素数删除因子7对于上一排与下一排的删除数,必然不可能为同一个组的数字,故,必然删除2组,剩余5组。换言之,这里素数7删除后剩余的48个数字中,每一种相差的数字组是上面素数2,3,5删除后的5倍,即素数删除因子(7-2)倍为孪生素数的新素基。这5组必然延续到下一个素基中去,永远的延续下去。这就是孪生素数永远存在的基础。
如果说,我们把上面表中素数2,3,5,7删除剩余的48个数为等差数列首项,以210为公差制作48个等差数列,每一个等差数列取与下一个素数删除因子11个数的项。上面这5种说法一样成立,依次类推。这就是规律!不变的规律!正是这些不变的规律,形成了我们在前面所说的“关联性较强的运算方法”,不论是前面的素数2,3,5在自然数30内删除后剩余的8个数,还是这里素数2,3,5,7在自然数210内删除后剩余的48个数,还是后面素数2,3,5,7,11在自然数2310内删除后,剩余的480个数,看起来好象各个数之间没有必然的联系,但是,我们通过上面的相差分析可以得知:它们是缺一不可的。象表中,我们横算各等差数列中的数,综合寻找首项乘以素数删除因子的删除数,缺少一个首项,就必然有一个数列的删除数得不到删除;缺少一个首项,也就缺少一个数列,那么,另一个首项乘以素数删除因子,就寻找不到删除数。再如,A数列乘以B数列,必然得C数列中的合数,也是缺一不可的。这些都是公理所决定的,固定不变的。
从素数的定义:只能够被1和自身数整除的数,叫素数,(自身数≠1)。人们就开始认为:素数与素数之间是毫不相干的数,甚至认为“素数属于分散理论”。有的老师干脆直接问我:你懂不懂得起什么叫分散理论?我在这里明确告诉各位老师:我懂不起什么叫分散理论!素数也不属于什么分散理论!素数与素数之间都有十分密切的联系,我们从以下两个方面来说素数与素数之间的密切联系吧:
1、从上面素数删除因子2,3,5删除后的8个剩余数看,它们之间的相互联系,除了自然数1以外,其它都是素数,这8个数所构成的数列之间的关系,是缺一不可的;再从上面素数2,3,5,7删除后剩余的48个数为首项,以210为公差形成48个等差数列之间的关系,除自然数1和121至209中的奇合数外,其它都是素数,这48个数以及这48个等差数列,所构成的数列之间的关系,也是缺一不可的。继续往后看同样的道理,也就是说:单独从素数的角度,狭义上看好象没有相互的联系,我们用这种方法,从广义上看它们有着十分密切的联系。
2、从素数的分布看:大于3的素数,除以3余数分别为1和2,它们的分布是均匀的;大于5的素数,除以5余数分别为1、2、3、4,它们的分布也是均匀的;大于7的素数,除以7余数分别为1、2、3、4、5、6,它们的分布也是均匀的;大于11的素数,除以11余数分别为1、2、3、4、5、6、7、8、9、10,它们的分布也是均匀的;……。如果不信的话,各位老师可以进行检验。
再说一下删除数的寻找,从上面表中,我们可以看得非常清楚:我们横算等差数列,用竖列由小到大乘以素数删除因子,从左向右竖找删除数,它是由小到大的排列关系,是很好寻找的。
我们再回过头来计算1000之内的素数。用大于7的素数的素基,也就是排除了素数删除因子2,3,5,7的删除后,每210个自然数中必然剩余48个数,自然数100到1000共剩余206个数:101,103,107,109,113,121,127,131,137,139,143,149,151,157,163,167,169,173,179,181,187,191,193,197,199,209,211,221,223,227,229,233,239,241,247,251,253,257,263,269,271,277,281,283,289,293,299,307,311,313,317,319,323,331,337,341,347,349,353,359,361,367,373,377,379,383,389,391,397,401,403,407,409,419,421,431,433,437,439,443,449,451,457,461,463,467,473,479,481,487,491,493,499,503,509,517,521,523,527,529,533,541,547,551,557,559,563,569,571,577,583,587,589,593,599,601,607,611,613,617,619,629,631,641,643,647,649,653,659,661,667,671,673,677,683,689,691,697,701,703,709,713,719,727,731,733,737,739,743,751,757,761,767,769,773,779,781,787,793,797,799,803,809,811,817,821,823,827,829,839,841,851,853,857,859,863,869,871,877,881,883,887,893,899,901,907,911,913,919,923,929,937,941,943,947,949,953,961967,971,977,979,983,989,991,997。
素数11的删除,因为,这里是从自然数100开始的,100/11≈9,素数11应该乘以大于9的素数2,3,5,7删除后的剩余数,大于9的剩余数也就是11。同时,1000/11≈90,即素数11乘以11到90中素数2,3,5,7删除后的剩余数(又因,素数11的删除从11*11=121开始,故小于90的数,素数2,3,5,7删除后的剩余数也就是素数,下同,为乘以素数),为素数11的删除数。有11分别乘以:11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89。得121,143,187,209,253,319,341,407,451,473,517,583,649,671,737,781,803,869,913,797。共20个删除数;
素数13的删除,因1000/13≈76,即素数13分别乘以13到小于76之内的素数,有13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,得:169,221,247,299,377,403,481,533,559,611,689,767,793,871,923,949。共16个删除数;
素数17的删除,因1000/17≈58,即素数17分别乘以17到小于58之内的素数,有17,19,23,29,31,37,41,43,47,53,得:289,323,391,493,527,629,697,731,799,901,共10个删除数;
素数19的删除,因1000/19≈52,即素数19分别乘以19到小于52之内的素数,有19,23,29,31,37,41,43,47,得:361,437,551,589,703,779,817,893,共8个删除数;
素数23的删除,因1000/23≈43,即素数23分别乘以23到小于43之内的素数,有23,29,31,37,41,43,得:529,667,713,851,943,989,共9个删除数;
素数29的删除,因1000/29≈34,即素数29分别乘以29到小于34之内的素数,有29,31,得:841,899,为2个删除数;
素数31的删除,因1000/31≈32,即素数31分别乘以31到小于32之内的素数,有31,得:961,为1个删除数;
从素数删除因子11到31共计删除63个删除数。1000之内的素数为206-63+25=168个素数。
3、计算10000之内的素数。
因为,10000大于2*3*5*7*11=2310,我们可以用大于11的素基,当然,也可以用大于7的素基和大于5的素基等。这里选择大于11的素数。即(2-1)*(3-1)*(5-1)*(7-1)*(11-1)=480个,即每2310个连续自然数中,必然480个数,不能够被素数2,3,5,7,11分别整除,进行计算。为了节约纸张,这里不再全部写出来。
因为,10000/2310≈4,4*2310=9240,9240内有480*4=1920个数不能够分别被素数2,3,5,7,11整除的数。10000-9240=760,即9240到10000内不能够被素数2,3,5,7,11分别整除的数为:9240分别加上小于760之内的不能够被素数2,3,5,7,11分别整除的数,为小于760之前的不能够分别被素数2,3,5,7,11整除的个数。即10000不能够被素数2,3,5,7,11分别整除的数为1920+157=2077个。
前面计算了1000之内的素数,这里从大于1000开始,1000之内不能够被素数2,3,5,7,11分别整除的数有206个,即1000到10000这内不能够被素数2,3,5,7,11分别整除数为:2077-206=1871个。
素数13的删除,因1000/13≈76,10000/13≈769,即素数13分别乘以大于76,小于769之内的素数2,3,5,7,11,删除后的剩余数,共143个;
素数17的删除,因1000/17≈58,10000/17≈588,即素数17分别乘以大于58,小于588之内的素数2,3,5,7,11,13删除后的剩余数,也就是在上面删除的基础上再删除13的倍数的数,(简称再删除13后剩余的数,下面都有是在这个基础上再删除,下同),共100个;
素数19的删除,因1000/19≈52,10000/19≈526,即素数19分别乘以大于52,小于526内的素数(因素数19删除后小于23*23=529的数都是素数,下同),共86个;
素数23的删除,因1000/23≈43,10000/23≈434,即素数23分别乘以大于43,小于434内的素数,共71个;
素数29的删除,因1000/29≈34,10000/29≈344,即素数29分别乘以大于34,小于344内的素数,共57个;
素数31的删除,因1000/31≈32,10000/31≈322,即素数31分别乘以大于32,小于322内的素数,共55个;
素数37的删除,因1000/37≈27小于素数删除因子37,素数删除因子必须乘以大于或等于素数删除因子的数,才能寻找到删除数(下同),10000/37≈270,即素数37分别乘以37至270内的素数,共46个;
素数41的删除,因1000/41≈243,即素数41分别乘以41至243内的素数,共41个;
素数43的删除,因1000/43≈232,即素数43分别乘以43至232内的素数,共37个;
素数47的删除,因1000/47≈212,即素数47分别乘以47至212内的素数,共33个;
素数53的删除,因1000/53≈188,即素数53分别乘以53至188内的素数,共27个;
素数59的删除,因1000/59≈169,即素数59分别乘以59至169内的素数,共23个;
素数61的删除,因1000/61≈163,即素数61分别乘以61至163内的素数,共21个;
素数67的删除,因1000/67≈149,即素数67分别乘以67至149内的素数,共17个;
素数71的删除,因1000/71≈140,即素数71分别乘以71至140内的素数,共15个;
素数73的删除,因1000/73≈232,即素数73分别乘以73至136内的素数,共12个;
素数79的删除,因1000/79≈126,即素数79分别乘以79至126内的素数,共9个;
素数83的删除,因1000/83≈120,即素数83分别乘以83至120内的素数,共8个;
素数89的删除,因1000/89≈112,即素数89分别乘以89至112内的素数,共6个;
素数97的删除,因1000/97≈103,即素数97分别乘以97至103内的素数,共3个;
共计删除数为810个,10000之内的素数为:1871-810+168=1229个。
三、明显合数的判定
大奇数是否为合数?根据上面的素基,我们可以进行这样的判定:如果一个很大的数,我们把它除以30后其余数,如果不是素数2,3,5删除后剩余的8个数之中的一个数,那么,该奇数绝对不是素数;如果说,我们把它除以210后其余数,如果不是素数2,3,5,7删除后剩余的48个数之中的一个数,那么,该奇数绝对不是素数;如果说,我们把它除以2310后其余数,如果不是素数2,3,5,7,11删除后剩余的480个数之中的一个数,那么,该奇数绝对不是素数;如果说,我们把它除以30030后其余数,如果不是素数2,3,5,7,11,13删除后剩余的5760个数之中的一个数,那么,该奇数绝对不是素数;…………。这就是明显合数的判定方法。
例1,已知2*3*5*7=210,210之内素数2,3,5,7删除后的剩余数48个,判断491748894140602704881613313619是否为明显合数?
因为,491748894140602704881613313619/210……119,余数119不属于素数2,3,5,7删除后的剩余数,故为明显奇合数。
例2,已知2*3*5*7*11*13*17*19*23*29*31*37*41*43=13082761331670030,判断奇数96874532145698732861677822793393是否为合数?
96874532145698732861677822793393/13082761331670030……2183
因为,在自然数13082761331670030之内,如果删除了素数删除因子2,3,5,7,11,13,17,19,23,29,31,37,41,43倍数的数字后,那么,小于47*47=2209之内剩余的数,除了自然数1以外,全部是素数。又因为:该奇数除以13082761331670030的余数为2183,不是素数,即2183不是素数2,3,5,7,9,11,13,17,19,23,29,31,37,41,43删除后的剩余数,故96874532145698732861677822793393为明显合数。
.我们换一句话说:如果我们知道自然数13082761331670030之内,素数2,3,5,7,11,13,17,19,23,29,31,37,41,43删除后剩余数的1854081073152000个数字,在寻找大奇数是否是素数时,我们只须要用13082761331670030X分别加上这1854081073152000个数字,即在自然数的14.17%之内进行寻找。然后,再分别删除大于43,小于这些数平方根的素数的倍数,剩余的数即是素数。
                            四川省三台县工商局:王志成
[/watermark]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-12-23 06:20 , Processed in 0.078125 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表