数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 7462|回复: 1

素数的综合计算方法

[复制链接]
发表于 2008-4-19 15:05:37 | 显示全部楼层 |阅读模式
素数的综合计算,技术原理:素数定义;素数删除规律;素数与等差数列的关系;素数与合数的区别。
  素数的综合计算,是对素数进行全面,系数的一种计算方法。
  素数的综合计算,不同于传统的素数筛法和梅森素数。
  1、与传统的素数筛法相比:克服了传统素数筛法中删除的重复性。传统素数筛法,对每一个素数倍数的合数的筛除,都是长期的,我这个筛法对每一个素数倍数的合数是一次性完成;克服了传统素数筛法中的复杂性,传统的筛法中,筛除任何一个合数,都涉及到两个或两个以上素数的乘积,难以把筛除的合数归功于某一个素数删除因子,对删除数难以寻找,真是杂乱无章,而我的计算方法,不仅对每一个素数删除因子倍数的数字的删除是一次完成,而且具有规律性,有具体的寻找方法,具有快速、准确的特点。
  2、克服了梅森素数的巧合性,梅森素数并没有排除所有奇素数删除因子的倍数,所以,计算出来的数字必须经过验算。我是对素数删除因子倍数的数字进行逐渐排除,当删除到任何一个删除因子时,小于下一个素数删除因子平方数的数字,必然是素数;克服了梅森素数的间隔性,梅森素数每计算出来一个素数后,必须间隔该数字的四倍以上,而我的计算方法是对所有素数不间断的进行计算。
   素数的综合计算,创造了素数计算方法,填补了素数没有直接计算方法的空白。
  作用意义:不仅可以直接用于素数的计算,而且,本计算方法,对于说明素数的永远存在、对哥德巴赫猜想的证明有很大的辅助作用。 .
  推广与应用:可以推广于多位数的素数计算,比如说世界上有人说,计算出位数为千位以上的素数,每一个素数有奖励,如果按我的计算方法,几年之内可以计算出位数为亿位之内的所有素数;该方法可以用于对素数的验证,对单个素数的计算。
   技术资料目录
   一、素数的删除规律
   二、素数与等差数列的关系
   三、素数与合数的区别.
   四、素数的综合计算方法展示
   五、对素数的验证游戏P4~:
   六、单一素数计算游戏
   素数的综合计算方法及推论
   素数的定义:只能被1和自身数整除的整数,叫素数。(自身数≠1)。
   根据素数的定义,素数倍数的数字,是除能被1和自身数整除外,还能够被该素数整除,那么,素数倍数的数字不可能是素数。所以,我们在计算中,要把它们进行排除。如2是素数,那么,大于2的所有偶数,都必须排除;3是素数,那么,大于3的所有能被3整除的数字都应该排除。那么,如何排除素数的倍数的数字呢?
   当我们排除了素数2倍数的数字后,剩余的数字就是2X+1的奇数,为:3,5,7,9,等,那么,小于3*3=9的数字,即3,5,7就是素数。
   当我们排除了素数2、3倍数的数字后,剩余的数字,就是6X+1,6X+5的奇数,也可以表示为3N+2,3N+4的奇数(这里的N为≥1的奇数)。也就是说,剩余奇数形成了两个公差为6的等差数列,在这两个等差数列中,哪些数字,又是该>3的素数进行删除?哪些数字,又不该>3的素数进行删除呢?我们不得不研究等差数列与素数删除因子的关系。
   一、素数删除因子与等差数列的关系
   素数删除因子与等差数列的关系,也就是素数删除规律。设素数删除因子为N,素数删除因子N,对N个公差不是N的倍数的连续项,必须删除一项,并且只删除一项。
   1、设N个连续项的公差为B,首项为A。因为,B不是素数N的倍数,B/N必然有余数,设余数为C。那么,A分别+C,2C,3C,………N(C,在A与这N个余数乘积之和中,必然有一个数字被素数N整除,并且只有一个数字能够被素数N整除。
  2、 素数删除因子N,对N个公差是N的倍数的连续数字,如果其中一个项能够被素数删除因子N整除,那么,所有项都能够被素数N整除(删除);如果其中一个数字不能够被素数N整除,那么,所有数字都不能够被素数N整除(删除)。
   证明:(1)、第一个数字,即首项,如果能够被素数N整除。因为,公差是素数N的倍数,公差的倍数都能够被素数N整除,所以,起始数+公差的倍数,也能够被素数N整除。
        (2)、第一个数字,即起始数如果不能够被素数N整除,因为,公差是素数N的倍数,公差的倍数都能够被素数N整除,所以,起始数+公差的倍数,也不能够被素数N整除。即:所有项/N,其余数相同。
   二、素数与等差数列的关系
   对于素数2、3删除后的剩余奇数数列:以6X+5的等差数列为例,公差为6,首项为5。有:5,11,17,23,29,35,41,47,53,59,………。来说,它的首项为5,这里的公差为6,公差为6是什么意思呢?
   6=2*3,即素数2和素数3的乘积。在这个等差数列中,公差为6,公差能够被6整除,∵首项5不能够被6整除,∴所有项都不能够被6整除(所有项/公差余数都是5);而首5,不能够被2*3=6中的素数2、3整除,所以,这个数列中的任何项,永远不会被素数2和素数3整除。
   由此得出:等差数列与素数的关系一:如果等差数列的首项,不能够被公差整除,那么,该数列的所有项都不能够被公差整除,如果把公差分解为二个或二个以上素数因子的乘积,该等差数列的所有项,都不会被分解出来的素数因子整除,也不会被分解出来的素数因子的倍数整除。
   如果,我们把等差数列的首项换成公差或者公差数的倍数。如:6,12,18,24,30,………。等差数列的每一个项,不仅能被公差6整除,而且,还能够被分解出来的素数2、3整除。
   由此得出:等差数列与素数的关系二:如果等差数列的首项,能够被公差整除,那么,该等差数列的所有项都能够被公差整除,如果把公差分解为二个或二个以上素数因子的乘积,该等差数列的所有项,都会被分解出来的素数因子整除。并且,该素数因子N倍个等差项中,必然有一个数字能够被该素数因子的N倍进行整除。
   三、奇素数与奇合数的区别  
   例:素数37,合数39,我们把奇素数与奇合数进行分解:
   大于3的任何奇数,都可以分解为奇数+偶数。我们把分解出来的奇数称为奇数组,偶数称为偶数组。我们再把分解出来的奇数组和偶数组,以素数为最小单元进行拆分:
   37可以分解为:2*3*5+7,39可以分解为:2*3*5+3*3或2*13+13。由此可以看出:合数分解为奇数组与偶数组加数后,将两个组再分解为素数因子的乘积时,在加数组与被加数组中,必然有一个相同的素数因子,这里是素数因子3或13;而素数进行同样的分解,在加数组与被加数组中,没有相同的素数因子。
   因为,√37≈6,即37的删除因子为:2、3、5,按上面的分解说法,在加号的一边,偶数组已经包含了所有的删除因子,我们在再加号的另一边(奇数组)加上不能够素数因子2、3、5整除的数字,那么,该数字与2*3*5的积之和,必然为素数(其和,能够被其它大素数整除除外,所以,后面在具体的计算中还要排除大素数的删除)。
   根据这一说法,那么,2*3*5=30这个数,只要加上不能够被素数2、3、5整除的任何数字,其结果小于7*7=49(第一个大素数的乘积),都必然是素数吗?是的;那么,√121≈11,即小于121的奇数删除因子为:2、3、5、7,只增加了一个素数删除因子7,如果我们用2*3*5=30,分别加上不能够被素数2、3、5整除的任何数,其结果小于121后,只要排除素数7倍数的数字,其余数字都必然是素数吗?答案:是的。况且对于这些被素数7删除的数,只要我们分解为加号一边有素数7的因子,在加号的另一边也必然有素数7的因子。这就是奇素数与奇合数的区别。
   根据以上规律,我们得出素数的综合计算方法。
   四、素数的综合计算方法展示
   1、根据素数的定义,我们得出第一个素数为2。小于2的数为1,且1不能够被素数2整除,那么,2N+1的数字,必然不能够被素数2整除。有2+1=3,2*2+1=5,2*3+1=7,∵√9=3,小于9的数,素数删除因子只有2,∴3、5、7都必然是素数。
   2、素数2*3=6,小于6,不能够被素数2、3整除的数,只有1、5。我们用6N分别+1和5有:  
   (1)、1,7,13,19,25;删除25。
   (2)、5,11,17,23,29。为素数5本身。
    这样,我们就排除了素数2和3的所有倍数的数字。根据素数5对公差为6的等差数列,且公差不是素数5的倍数时,每5个连续等差项,必须删除一项或者其中一项是该素数删除因子本身的删除规律,我们删除25,5后,我们又得出小于7*7=49的素数:7,13,19,11,17,23,29。
   3、素数2*3*5=30,小于30,且不能被素数2、3、5整除的数字有:1,7,13,19,11,17,23,29。即上面的剩余数字和1,下面不再列出,直接进行计算。我们用30N分别+这些数字有: .
(1)、1,31,61,91,121,151,181;删除91。
(2)、7,37,67,97,127,157,181;素数7本身,
(3)、13,43,73,103,133,163,193;删除133, /
(4)、19,49,79,109,139,169,199。删除49,
(5)、11,41,71,101,131,161,191;删除161。
(6)、17,47,77,107,137,167,197;删除77,
(7)、23,53,83,113,143,173,203;删除203,
(8)、29,59,89,119,149,179,209。删除119,
    删除7、49、91、133,161,77,203,119后,小于11*11=121的数字,除1之外,全部是素数。
   为什么不在这里删除大于121的合数呢?因为,它们还没有完成历史使命,还可以引出素数来。
   4,素数2*3*5*7=210,用上面的剩余数分别+210N有如下剩余奇数等差数列。当您看到下面这么多奇数时,您一定会问:哪些奇数又是素数11的删除数?怎样寻找这些删除数呢?下面回答您。
(1)、1、211,421,631,841,1051,1261,1471,1681,1891,2101;删除2101,.
(2)、31,241,451,661,871,1081,1291,1501,1711,1921,2131;删除241,
(3)、61,271,481,691,901,1111,1321,1531,1741,1951,2161;删除1111,
(4)、121,331,541,751,961,1171,1381,1591,1801,2011,2221;删除121,
(5)、151,361,571,781,991,1201,1411,1621,1831,2041,2251;删除781,
(6)、181,391,601,811,1021,1231,1441,1651,1861,2071,2281;删除1441,
(7)、37,247,457,667,877,1087,1297,1507,1717,1927,2137;删除1507,
(8)、67,277,487,697,907,1117,1327,1537,1747,1957,2167;删除2167,
(9)、97,307,517,727,937,1147,1357,1567,1777,1987,2197;删除517,
(10)、127,337,547,757,967,1177,1387,1597,1807,2017,2227;删除1177
(11)、157,367,577,787,997,1207,1417,1627,1837,2047,2257;删除1837,
(12)、187,397,607,817,1027,1237,1447,1657,1867,2077,2287;删除187,
(13)、13,223,433,643,853,1063,1273,1483,1693,1903,2113;删除1903,
(14)、43,253,463,673,883,1093,1303,1513,1723,1933,2143;删除253,
(15)、73,283,493,703,913,1123,1333,1543,1753,1963,2173;删除913,
(16)、103,313,523,733,943,1153,1363,1573,1783,1993,2203;删除1573,
(17)、163,373,583,793,1003,1213,1423,1633,1843,2053,2263;删除583,
(18)、193,403,613,823,1033,1243,1453,1663,1873,2083,2293,删除1243,
(19)、19,229,439,649,859,1069,1279,1489,1699,1909,2119;删除649,
(20)、79,289,499,709,919,1129,1339,1549,1759,1969,2179;删除1969,
(21)、109,319,529,739,949,1159,1369,1579,1789,1999,2209;删除319,
(22)、139,349,559,769,979,1189,1399,1609,1819,2029,2239;删除979,
(23)、169,379,589,799,1009,1219,1429,1639,1849,2059,2269;删除1639,
(24)、199,409,619,829,1039,1249,1459,1669,1879,2089,2299;删除2299,
(25)、11,,221,431,641,851,1061,1271,1481,1691,1901,2111;素数11本身,
(26)、41,251,461,671,881,1091,1301,1511,1721,1931,2141;删除671,
(27)、71,281,491,701,911,1121,1331,1541,1751,1961,2171;删除1331,
(28)、101,311,521,731,941,1151,1361,1571,1781,1991,2201;删除1991 ,
(29)、131,341,551,761,971,1181,1391,1601,1811,2021,2231;删除341,
(30)、191,401,611,821,1031,1241,1451,1661,1871,2081,2291;删除1661,
(31)、17,227,437,647,857,1067,1277,1487,1697,1907,2117;删除1067,
(32)、47,257,467,677,887,1097,1307,1517,1727,1937,2147;删除1727,
(33)、107,317,527,737,947,1157,1367,1577,1787,1997,2207;删除737,
(34)、137,347,557,767,977,1187,1397,1607,1817,2027,2237;删除1397,
(35)、167,377,587,797,1007,1217,1427,1637,1847,2057,2267;删除2057,
(36)、197,407,617,827,1037,1247,1457,1667,1877,2087,2297;删除407, `
(37)、23,233,443,653,863,1073,1283,1493,1703,1913,2123;删除2123,
(38)、53,263,473,683,893,1103,1313,1523,1733,1943,2153;删除473,
(39)、83,293,503,713,923,1133,1343,1553,1763,1973,2183;删除1133,
(40)、113,323,533,743,953,1163,1373,1583,1793,2003,2213;删除1793,
(41)、143,353,563,773,983,1193,1403,1613,1823,2033,2243;删除143,
(42)、173,383,593,803,1013,1223,1433,1643,1853,2063,2273;删除803,
(43)、29,239,449,659,869,1079,1289,1499,1709,1919,2129;删除869,
(44)、59,269,479,689,899,1109,1319,1529,1739,1949,2159;删除1529,
(45)、89,299,509,719,929,1139,1349,1559,1769,1979,2189;删除2189,
(46)、149,359,569,779,989,1199,1409,1619,1829,2039,2249;删除1199,
(47)、179,389,599,809,1019,1229,1439,1649,1859,2069,2279;删除1859,
(48)、209,419,629,839,1049,1259,1469,1679,1889,2099,2309,删除209。
   1、如何计算素数11的删除数,因为,这里的公差为210,我们用素数11分别乘以≥11,至小于210的素数,得出第一批删除数;用所得出的删除数前面的数字,分别乘以≥11的素数,其数值在210*11=2310之内的数字,即为第二批删除数;
   2、如何在等差数列中寻找删除数呢?因为,在11个公差为210的等差项中,各项与首项的相差数分别为:210,420,630,840,1050,1260,1470,1680,1890,2100共10个数字,以删除数2189、1397为例:因2189-2100=89,我们就将它固定在首位数为89的等差数列进行寻找;1397-1260=137,我们就将它固定在首项为137的等差数列进行寻找。
   3、当我们删除素数11的删除数后,剩余小于17*17=289的数字,必然是素数。说到这里,我们将这种计算方法与传统的删除法进行比较:289前有奇数144个,素数61个,按传统必须删除144-61=83个,而这里一共只删除了1+2+8+48=59个数字,比传统删除方法少24个,实际对奇数289以下的数字,只删除了18个,比传统删除方法少删除126个。如果继续计算下去,随着素数删除因子的不断增大,实际少删除比例也会不断地增大。而且,我们还延续了后面的计算。
  4、从上面的计算表中,我们可以看到,当我们排除素数2、3、5、7、11倍数的数字后,不是这些素数因子倍数的数字,小于2310的数字已经全部亮相,如果我们按这种方法,当排除到素数83时,不是小于或等于素数83倍数的数字,且小于23位数的数字会全部亮相,对于排除到素数83的倍数,可能5天左右的时间,如果再把这些排列出来的数字中,大于83的素数倍数的数字,全部删除也不过10天左右,即在半个月左右的时间,我们就可以计算出23位数以内的全部素数。如果再往后面进行计算,剩余数的间隔会越来越大,删除数的间隔也会越来越大,一年之内计算1000位数以内的所有素数并不是难事,要计算出亿位数以内的所有素数,也不过是几年的时间而与。  
   5、为了计算的方便和对删除数的查找方便,对每一个素数倍数的数字排除后,可以对剩余数进行重新排列后,再计算下一步。如果排除到某一个素数后,不想再继续计算下去了,要对后面的素数倍数的数字进行全部删除时,也可以将删除数计算出来之后(后面在素数与哥德巴赫猜想中,还要谈合数的删除参数,也就是怎样计算合数),按减去公差进行分行列表,然后,按不同的行进行统一删除。  
   6、这表中含有大于素数13至47的倍数的数,即合数,为什么我们在这里不先把它们删除后,再进行下面的计算呢?因为,它们还没有完全它们的历史使命,它们还可以引出不被这些素数删除因子删除的奇数或者说素数。
  7、我们从上面的计算可以看出:
(1)、每一个素数是严格地按照它的删除规律进行删除的,即素数N对N个公差不是素数N的倍数的等差数数列连续项,必须删除一项,并且只删除一项;
(2)、素数是永远延续的,设大素数为N,前面小素数删除后的剩余奇数,够不成等差数列的N个连续项(平均),大素数N是寻找不到删除数,就不存在删除的问题。故,不存在在某一个数字后没有素数的诞生;
(3)、素数既有一定的等差性,用这个等差性,可以说明哥德巴赫猜想的成立。
    四、分段计算法.
   我们对上面的计算方法进行计算时,可以分段进行计算。比如说,我们选择上面的第一项剩余数:1、211,421,631,841,1051,1261,1471,1681,1891。用2*3*5*7*11=2310,即2310X分别加上这些数字为:
(1)、1,2311、4621,6931,9241,11551,13861,16171,18481,20791,23101,25411,27721,删除23101,
(2)、211,2521,4831,7141,9451,11761,14071,16381,18691,21001,23311,25621,27931,删除9451,
(3)、421,2731,5041,7351,9661,11971,14281,16591,18901,21211,23521,25831,28141,删除25831,
(4)、631,2941,5251,7561,9871,12181,14491,16801,19111,21421,23731,26041,28351,删除12181,
(5)、841,3151,5461,7771,10081,12391,14701,17011,19321,21631,23941,26251,28561,删除28561,
(6)、1051,3361,5671,7981,10291,12601,14911,17221,19531,21841,24151,26461,28771,删除14911,
(7)、1261,3571,5881,8191,10501,12811,15121,17431,19741,22051,24361,26671,28981,删除1261,
(8)、1471,3781,6091,8401,10711,13021,15331,17641,19951,22261,24571,26881,19191,删除17641,
(9)、1681,3991,6301,8611,10921,13231,15541,17851,20161,22471,24781,27091,29401,删除3991,
(10)、1891,4201,6511,8821,11131,13441,15751,18061,20371,22681,24991,27301,29611。删除20371。
    当您看见上面素数13的删除规律,您一定会感到高兴,它是两条斜直线删除规律。
    五、交叉计算法
    在排除删除因子时,我们可以利用素数与合数的区别,进行交叉计算。比如说:3*5*7*11=1155,2*13*17=442,因为,素数可以分解为奇合数+偶合数。这里面奇合数包含了素数,3,5,7,11,偶合数包含了素数2,13,17。如果,我们将这两个数字相加,它绝对不可能被素数2,3,5,7,11,13,17整除,但它可以被这以外的素数整除,1155+442=1597,√1597≈39,只要它不被素数19,23,29,31,37整除,它就是素数;又如,2* 17*19=646,我们用1155+646=1801,1801不可能被素数2,3,5,7,11,17,19整除,√1801≈42,只要它不被素数13,23,29,31,37整除,它就是素数。
   六、素数验算法、
   根据上面素数与等差数列的关系,我们得出如下验算方法:
   如奇数4217,√4217≈64,即它的删除因子为64以下的素数。因该数尾数不是5,我们排除素数删除因子5后,作如下的运算:
1、3*7*11*13=3003,用4217-3003=1214=2*607,即在分解为3003+1214中,对加数和被加数的分解中,对于加数与被加数相比都没有相同的素数因子,该数仍然可能是素数,从而排除素数删除因子2、3、7、11、13;
2、17*53*3=2703,用4217-2703=1514=2*757,加数与被加数相比都没有相同的素数因子,该数仍然可能是素数,从而排除素数删除因子17和53;
3、19*59*3=3363,用4217-3363=854=2*7*61,从而排除素数删除因子19、59、61;
4、23*47*3=3243,用4217-3243=974=487,从而排除素数删除因子23、47,
5、29*43=1247,用4217-1247=2970=2*5*3*3*3*11,从而排除素数删除因子29、43,
6、31*41=1271,用4217-1271=2946=2*3*491,从而排除素数删除因子31、41,
7、最后还剩余素数删除因子37,直接用4217/37,除不尽为素数。
    七、单一素数计算游戏
    单一素数计算,是素数的验证游戏的逆运算。如计算一个尾数是7的3位素数,用2*3*5*7=210,我们用210加上一个小于210,且不能被素数2、3、5、7整除的,尾数是7的系列素数得:227,247,257,277,307,317,337,367,377,407。因为√407≈20,即删除因子只剩余:11、13、17、19。
     如227,√227≈15,只剩余删除因子11、13。因11*13=143,227-143=84=2*2*3*7,素数删除因子全部亮相了,加数与被加数相比都没有相同的素数因子,所以该数是素数。
    如:247,√247≈15,只剩余删除因子11、13。因11*13=143,247-143=104=2*2*2*13,加数与被加数相比都有相同的素数因子13,所以该数不是素数。
    按同样方法计算,257,277,307,317,337,367,是素数;而377,407不是素数,加数与被加数相比都有相同的素数因子13,11。
    另外,前面说了梅森素数。因为,梅森素数只排除了素数删除因子2,没有排除奇素数删除因子,故,它不可避免地会被奇素数整除,所以,它计算出来的数字必须进行验证。就象我这里的“单一素数计算游戏”一样。
  
                                                四川省三台县工商局:王志成
 楼主| 发表于 2008-6-15 21:57:06 | 显示全部楼层

回复 1# 的帖子

该计算法,目前又有两项新的进展。近期发表。
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-26 21:52 , Processed in 0.054297 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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