大数整数分解是当今世界数学难题之一,现在对大数整数分解已经有很多方法,其中最基础和最熟悉的是试除法。
试除法是对任意充大的大数,由小到大依次试除质数,当大数能被两个以上除数整除称为合数,当大数只能被1和它本身整除称为质数。
试乘法是对非完全平方大数不断试乘,使试乘大数每乘一次就开一次根号,当开根号后的数,达到大数的两个整数因子数的相对平衡点时,且能求出零点。取试乘大数开根号后的整数和(整数+1)相乘的乘积,以此为试乘大数开根号后整数平方和(整数+1)平方的1/2直线,且作为被减数,减试乘大数,当其差也可以分解为整数乘(整数+1)时。
①非完全平方大数除以试乘大数开根号后的(整数减其差分解后的整数),就可以求出大数整数的一个因子数,且大数的整数因子数会出现在分母里。
②非完全平方大数除以试乘大数开根号后的(整数+1再加其差分解后的整数),就能求出大数整数另一个因子数,且大数整数的因子数也会出现在分母里。
关键词:试乘、开根号、平衡点、零点、1/2直线
大数整数分解试乘法
大数P乘c,当√Pc达到平衡点,且有零点,就可以求出P的两个整数因子数x和y,也称天平原里。
已知P为正整数,x和y为P的两个整数因子数,试乘数为c。√P≠整数,x和y互为质数,P>3,x<y,2≤c≤(P-x)。
由于√P≠整数,所以√Pc≠整数。令√Pc=R.t,(R为整数,t为小数,且0<t<1)。
由此得,R<√Pc<(R+1),当对R<√Pc<(R+1)两边同时进行平方得R^2<Pc<(R+1)^2,取R(R+1)为R^2~(R+1)^2之间的1/2直线,且以R(R+1)为R^2~(R+1)^2的分界线,就把R^2~(R+1)^2一分为二。
①、在√Pc=R.t里,当0<t<0.5时,R^2<Pc<R(R+1),且R(R+1)-Pc>0,为正整数。
②、在√Pc=R.t里,当0.5<t<1时,R(R+1)<Pc<(R+1)^2,且R(R+1)<Pe<(R+1)^2,为负整数。
已知非对称大数P=xy(x<y),试乘数为c,x和y可以分解为x=a+b,y=m+n,(a、b、m、n为正整数,a<b,m<n,且两两都互质)。由此得:P=(a+b)(m+n),当试乘数c分别为c1=am,c2=bn时,以c1=am或c2=bn分别乘以大数P,然后再开根号,得:√Pc1=R1.t或√Pc2=R2.t,(R1、R2为整数,0<t<1)。当√Pc达到平衡点时且有零点,取√Pc1或√Pc2的各自的1/2直线,即R1(R1+1)和R2(R2+1),有R1(R1+1)-Pc1=H=R2(R2+1)-Pc2,从而就能求出非对称大数P的两个整数因子数x和y。而√Pc1=R1.t加√Pc2=R2.t的和是介于(P-1)~P之间一个数。取√Pc1和√Pc2的整数R1和R2相加,即:R1+R2=P-1。
在√Pc=R.t里,当0<t<0.5时,有下列两种方法,可以求出大数P的两个整数因子数x和y。
说是两种方法,其实它们的算法、步骤都一样,只是当√Pc1或√Pc2分别达到平衡点且有零点时,以大数P为被除数,再分别以√Pc1和√Pc2的1/2直线所求出的零点数为除数,就能求出P的两个整数因子数x和y,大数P的整数因子数x和y都会出现在分母里,且分子数分别为a、m、b、n。
一、大数整数分解试乘法公式如下:
已知非对大数P ,求P的两个整数因子数。
根据已知条件得:
P=xy,√P≠整数,P>3,x<y,x和y互质,x=a+b,y=m+n,试乘数c分别为c1=am,c2=bn,(a、m、b、n两两互质),且√Pc≠整数。
①当√Pc=√Pc1=√Pam=R1.t,(R1为整数,0<t<0.5)。
取:R1(R1+1)-Pc1=H,(H为正整数,)
H可以分解为:H=k(k+1),由此把k分别代入R1和(R1+1)
得
(R1-k)(R1+1+k)-Pc1=0
取
P÷(R1-k)=x/a
P÷(R1+1+k)=y/m
②在√Pc=√Pc2=√Pbn=R2.t时,与√Pc1=R1.t的算法和步骤完全一样。
√Pc=√Pc2=√Pbn=R2.t
R2(R2+1)-Pc2=H
H=k(k+1)
(R2-k)(R2+1+k)-Pc2=0
P÷(R2-k)=y/n
P÷(R2+1+k)=x/b
例如:已知大数90361,试乘数c分别为c1=1*8,c2=(109-1)(829-8)=108*821,求90361的两个整数因子数x和y?
①:当90361*1*8=722888
√722888≈850.2
850(850+1)-722888=462
462=21(21+丨)
(850-21)(850+1+21)-722888=0
90361÷(850-21)=109/1
90361÷(850+1+21)=829/8
②当90361*(109-1)*(829-8)=90361*108*821=8012129148
√8012129148≈89510.4
89510(89510+1)-8012129148=462
462=21(21+1)
(89510-21)
(89510+1+21)-8012129148=0
90361÷(89510-21)=829/821
90361÷(89510+1+21)=109/108
从上面的两个举例可以看到,90361的两个整数因子数109和829,都分别出现在分母里,而√Pc1和√Pc2的分子数分别为:1、8和108、821,在√90361*1*8和√90361*108*821里,分别取它们两个开根号后的整数相加,即850+89510=90360=90361-1。
以上为√Pc=R.t时,0<t<0.5的大数整数分解试乘法。
如何能证明大数整数分解试乘法的成立,可以从以下几个方面去考虑。
①大数整数分解试乘法,其实就是对大数P的两个整数因子数x和y(x<y)分别进行试乘,使x和y达到相对平衡,从而求出大数的两个整数因子数x和y。这就好比x和y分别为不同重量的两个物体。由于x<y,所以令x为轻物体,y为重物体,以大数P为支称点,这样就可以构建一个天平,把x和y分别放在以大数P支称点的天平两边,那么轻物体x和重物体y就不会达到相对的平衡,这时就要对轻物体x加a个相同的轻物体x,和对重物体y加m个相同的重物体y(a>m,a、m互质),最终使x和y最到一个相对平衡点,从而就能求出大数P的两个整数因子数x和y,故称大数整数分解试乘法也为天平原理。
例如,已知203=7*29,x=7,y=29,由于7<29,当7*4=28,即x取4份7=28与y取1份29=29就达到相对平衡。那么取√203*4*1≈28.49,再取28*(28+1)-203*4*1=0,再用203÷28=29/4,203÷(28+1)=7/1,从上面举例得到203的两个整数因子数7和29都出现在分母里,分子分别为4和1。
②任意大于零的两个连续自然数a^2~(a+1)^2之间的1/2直线为a(a+1)。
4^2~5^2之间的1/2直线为20=4*5
5^2~6^2之间的1/2直线为30=5*6
③任意充分大的整数P^2-1可以分解为(P-1)(P+1),这是平方差公式,当P分解为a-1代入(P-1)(P+1)则有a(a+2)。
④在连续两个自然数平方a^2和(a+1)^2里,取a(a+1)为a^2和(a+1)^2之间的1/2直线,当a-q和a+1+q再相乘时,即(a-q)(a+1+q),q为1、2、3……(a-1)。当q值逐渐增大时,(a-q)(a+1+q)会以等差数列方试第减。
例如:
9^2至10^2之间的1/2直线为90=9*10
取:9*10=90
(9-1)(10+1)=88,90-88=2
(9-2)(10+2)=84,88-84=4=2+2
(9-3)(10+3)=78,84-78=6=2+4
(9-4)(10+4)=70,78-70=8=2+6
(9-5)(10+5)=60,70-60=10=2+8
(9-6)(10+6)=48,60-48=12=2+10
(9-7)(10+7)=34,48-34=14=2+12
(9-8)(10+8)=18,34-18=16=2+14
⑤根据上面的一些规律,就可以得到一个多项式对大数进行整数分解。
已知大数P=xy(x<y),√P≠整数,√P=R.t,(R为整数,t为小数),由于P为非对称大数,所有在√P=R.t里,x<R<y,取√P的1/2直线为R(R+1),当R-q和R+1+q再相乘时,(q为1、2、3、……、R-1),随着q的逐渐增大,(R-q)(R+1+q)是以等差数列第减,而大数P为R^2~(R+1)^2之间任意一个整数,即:R^2<P<(R+1)^2。
由此得大数整数分解多项式方程为:
(R-q)(R+1+q+k)-P=0
(K为1、2、3、……、R)
x和y分别为:
x=R-q
y=R+1+q+k
①:当(R-q)(R+1+q)-P>0时,k=0。
②:当(R-q)(R+1+q)-P<0时,(K为1、2、3、4……R)。
例如,分别取两个整数为85和91,分别求它们两个的整数因子数x和y?
85和91都介于9^2~10^2之间。现在用多项式对85和91分别进行大数整数分解。
由于9^2~10^2的1/2直线为90=9*10
①:取9*10-85=5
(9-1)(10+1)-85=3
(9-2)(10+2)-85=-1,-1<0
(9-2)(10+2+1)-85=6
(9-3)(10+3+1)-85=-1,-1<0
(9-3)(10+3+2)-85=5
(9-4)(10+4+2)-85=-5,-5<0
(9-4)(10+4+3)-85=0
x=9-4=5
y=10+4+3=17
至此完成了用多项式对85的整数分解。
②:取9*10-91=-1,-1<0
(9)(10+1)-91=8
(9-1)(10+1+1)-91=3
(9-2)(10+2+1)-91=0
由此得:
x=9-2=7
y=10+2+1=13
通过对上面几点的考虑,就有可能证明大数整数分解__试乘法的成立。
二、关于在√Pc=R.t里,0.5<t<1的两个算法。
其实与0<t<0.5的算法和步骤都一样,唯一不同的是在0<t<0.5时,取√Pc的1/2直线R(R+1),R(R+1)-Pc≥0,为正整数。即(R-K)(R+1+k)-Pc有零点,能求出大数P的两个整数因子数。而在0.5<t<1时,取√Pc的1/2直线R(R+1),当R(R+1)-Pc是小于0,为负整数,由于是负整数就不能求出正整数根。因为在连续两个自然平方a^2和(a+1)^2里,取1/2直线a(a+1),当(a-q)(a+1+q)时,随着q的逐渐增大,(a-q)(a+1+q)是以等差数列第减,把(a-q)(a+1+q)换成(R-k)(R+1+k)是同样的以等差数列第减。所以在√Pc=R.t里,当0.5<t<1时,取√Pc=R.t的1/2直线为R(R+1),在R(R+1)-Pc<0时,为负数,不能进行正整数运算,这时在(R+1里加1)再乘R,即R(R+2),这时R(R+2)-Pc≥0,就能进行正整数运算,且有零点,能求出大数P的两个整数因子数。
其公式如下:
已知大数P=xy,√P≠整数,P>3,x<y,x和y互质,x=a+b,y=m+n,试乘数c分别为c1=am,c2=bn,a<b,m<n,a、b、m、n两两互质,√Pc≠整数。
①当√Pc=√Pc1=√Pam=R1.t,(R1为整数,0.5<t<1)
当取R1(R1+1)-Pc1<0,为整负数,没有正整数根。
故取R1+1再1等于R1+2,有
R1(R1+2)-Pc1≥0,有正整数根
R1(R1+2)-Pc1=H,H为正整数
H可以分解为:H=k(k+2),由此把k分别代入R1和R1+2
得:
(R1-k)(R1+2+k)-Pc1=0
取
P÷(R1-k)=x/a
P÷(R1+2+k)=y/m
②在√Pc=√Pc2=√Pbn=R2.t,与√Pc1的算法、步骤完全一样。如下
√Pc=√Pc2=√Pbn=R2.t
R2(R2+1)-Pc2<0,为负数
R2(R2+2)-Pc2≥0,为正整数
R2(R2+2)-Pc2=H,H为整数
H=k(k+2)
(R2-k)(R2+1+k)-Pc2=0
取
P÷(R2-k)=y/n
P÷(R2+1+k)=x/b
例如,再用已知大数90361,试乘数c分别为c1=3*23,c2=(109-3)(829-23)=106*806,分别求90361的两个整数因子数x和y?
①当90361*3*23=6234909
√6234909≈2496.98
2496(2496+1)-6234909=-2397<0
2496(2496+2)-6234909=99
99=9(9+2)
(2496-9)(2496+2+9)-6234909=0
取
90361÷(2496-9)=109/3
90361÷(2496+2+9)=829/23
②当90361*106*806=7720082396
√7720082396≈87863.9994
87863(87863+1)-7220082396=-31686224<0
87863(87863+2)-7220082396=99
99=9(9+2)
(87863-9)(87863+2+9)-7220082396=0
取
90361÷(87863-9)=829/806
90361÷(87863+2+9)=109/106
②当90361*106*806=7720082396
√7720082396≈87863.9994
87863(87683+1)-7720082396=-31686224<0
87863(87863+2)-7720082396=99
99=9(9+2)
(87863-9)(87863+2)-7720082396=0
取
90361÷(87863-9)=829/806
90361÷(87863+2+9)=109/106
从上面的两个举例可以看到,90361的两个整数因子数109和829,都分别岀现在分母里,而√Pc1和√Pc2的分子数分别为3、23和106、806。在√Pc1=90361*3*23和√Pc2=90361*106*806里,分别取它们开根号后的整数相加,即2496+87863=90539=90361-2,与90361差2。
以上为√Pc=R.t里,0<t<0.5的大数整数分解试乘法。
三、如果已知xy=P,这时对大数P进行逆运算,则有
已知大数P,试乘数c为P-x,求大数P的两个整数因子数x和y?(x<y)
即:
√Pc=√P(P-x)=R.t(R为整数,0<t<0.5)
R(R+1)-Pc=H(H为整数)
H=k(k+1)=(x-2)/2*[(x-2)/2+1]
(R-k)(R+1+k)-Pc=0
取
P÷[R-(x-1)/2]=y/(y-1)
P÷[R+1+(x-1)/2=x/x=1
例如,17×53=901,901-17=884
已知大数901,试乘数为884,求901的两个整数因子数x和y?
901*884=796484
√796484≈892.45
892*(892+1)-796484=72
72=8*(8+1)=(17-1)/2*[(17-1)/2+1)
(892-8)(892+1+8)-796484=0
取
901÷(829-8)=53/52
901÷(829+1+8)=17/17=1
其中√P(P-x)开根号后的数值与黎曼猜想的非凡零点数值有一些是比较接近的。那么√P(P-x)开根号后的数值与黎曼猜想的非凡零点数值是否有关联,望各位对此感兴趣的网友去研究。
例如,黎曼猜想非凡零点数值:
①:14.134725142
√15(15-3)≈13.4164
②:21.022039639
√23(23-3)≈21.4422
③:25.010857580
√27(27-3)≈25.4558
④:30.424876126
√32(32-3)≈30.4631
当R(R+1)-Pc>0时,有零点,能把大数P的两个整数因子数x和y分解出来,√Pc的小数大于0,小于0.5,这是否为1/2的实部。
当R(R+1)-Pc<0时,无零点,不能进行整数分解,√Pc的小数大于0.5,小于1,这是否为1/2的虚部。
以上为大数整数分解试乘法的全部算法。
论小于给定数值的质数个数
一个任意充分大的整数P,如果想知道在P值范围内有多少个质数,可以用高斯素数定理求出P值范围内的质数个数,现在可以用另一个方法计算出P值范围内的质数个数。在自然数内,有一个天然分界线即以平方数为分界线,可以有序的把自然数分开。以两个连续自然数a^2~(a+1)^2为一组,就可以无缝隙的把整个自然数连接起来,且在a^2~(a+1)^2之间任意取一个整数开平方都没有整数。随着自然数a的逐渐增大。a^2~(a+1)^2之间数的个数会逐渐增多。取任意充分大的整数P,假设能分解出无穷多个a^2~(a+1)^2,任意取一组a^2~(a+1)^2之间数的个数,都一定小于P值内数的个数,这就是小于给定数值的个数。如果有一个公式能计算出每一组a^2~(a+1)^2之间数的质数个数,至到整数P的R^2~(R+1)^2之间数的质数个数。(R为√P=R.t的整数,R^2<P<(R+1)^2),再求出R^2~P之间数的质数个数。把整数P值内,计算出的每一组a^2~(a+1)^2之间数的质数个数依次相加至R^2~P之间数的质数个数,即为整数P值内的质数个数。
例如,整数P为100,可以用0、1、2、3、4、5、6、7、8、9、10平方数为100的分界线,取0^2~1^2为一组,1^2~2^2为一组,……,9^2~10^2为一组,这样就把100无缝隙连在一起。
0^2~1^2之间有0个数
1^2~2^2之间有2个数:2、3
2^2~3^2之间有4个数:5、6、7、8
3^2~4^2之间有6个数:10、11、12、13、14、15
通个上面举例发现,在a^2~(a+1)^2之间数的个数都为偶数,且以2的等差数列第增。由此计算出在a^2~(a+1)^2之间数的个数为a+a+1-1=2a。在整个自然数里分偶数与奇数,故2a÷2=a,这表示在a^2~(a+1)^2之间有a个偶数和a个奇数。由于奇数分为合数与质数,合数是由二个或二个以上的质数相乘的乘积构成,故取小于等于a的质数除奇数a,则能去掉a^2~(a+1)^2之间数的合数,剩下的数则为a^2~(a+1)^2之间数的计算质数个数。
在a^2~(a+1)^2里有a个奇数,令小于等于a的质数由大到小分别为q1、q2、q3、……、3依次除a。当a为质数,q1为a,当a为合数,q1为a内最大质数,
其计算公式如下:
a÷q1=k1+t,(k为整数,t为小数,当t<0.5时,t=0,当t>0.5时,t=1,后面同理)
(a-k1-t)÷k2=k2+t
(a-k1-t-k2-t)÷k3=k2+t
……
(a-k1-t-k2-t-k3-t-……)÷3=M+t,(M为整数,t为小数)
取整数M即为a^2~(a+1)^2之间数的计算质数个数。
在a^2~(a+1)^2之间有a个奇数。
①、当a<3,a^2~(a+1)^2之间数的奇数都为质数。
1^2~2^2之间有1个奇数3,由于奇数1<3,所以只有1个质数3。
2^2~3^2之问有2个奇数5、7,由于奇数2<3,所以有2个质数5、7。
②、当a≥3时,则用上面的公式计算a^2~(a+1)^2之间的质数个数。
3^2~4^2之间有3个奇数11、12、13,3个奇数等于质数3。故取3÷3=1,3-1=2,表示3^2~4^2之间有2个计算质数,而实际质数是2个。
4^2~5^2之间有4个奇数17、19、21_23,奇数4>3,而在4~3内有1个质数3,用4÷3=1.3,0.3<0.5,故t=0,即4-1-0=3,表示4^2~5^2之间有3个计算质数,而实际质数3个。
5^2~6^2之间有5个奇数27、29、31、33、35,奇数5>3,而在5~3内有2个质数5、3,取5÷5=1,5-1=4,4÷3=1.3,0.3<0.5,即4-1-0=3,表示在5^2~6^2之间有3个计算质数,实际有2个质数。计算质数个数比实际质数个数多1个质数。
6^2~7^2之间有6个奇数37、39、41、43、45、47,在6~3内有2个质数3、5,取6÷5=1.2,0.2<05,故t=0,6-1-0=5,5÷3=1.6,0.6>0.5,故t=1,即5-1-1=3,表示在6^2~7^2之间有3个计算质数,实际有3个质数。
7^2~8^2之间有7个奇数51、53、55、57、59、61、63,在7~3内有3个数7、5、3,取7÷7=1,7-1=6,6÷5=1.2,6-1=5,5÷3=1.6,0.6>0.5,故t=1,5-1-1=3,表示在7^2~8^2之间有3个计算质数,实际有3个质数。
8^2~9^2之间有8个奇数65、67、69、71、73、75、77、79,在8~3内有3个质数7、5、3,
9^2~10^2之间有9个奇数83、85、87、89、91、93、95、97、99,在9~3内有3个质数7、5、3,取9÷7=1.2,9-1=8,8÷5=1.6,8-2=6,6÷3=2,6-2=4,表示在9^2~10^2之间有4个计算质数,实际有3个质数,计算质数比实际质数多1个质数。
把100内每一组a^2~(a+1)^2之间所计算出的质数个数相加得:1+2+2+3+3+3+3+4+4=25,由于2是偶数,且是唯一1个偶数质数。故1+25=26,表示在100内有计算质数26个,而实际有25个质数,故相差1个质数。
③、随着自然数a的逐渐增大,在a^2~(a+1)^2之间数的个数逐渐增多,这时在合数里会有越来越多的三个或三个以上的质数相乘的乘积,在计算的过程中就会有漏掉的合数个数混入质数个数里,其计算质数个数与实际质数个数就会有一定误差,这时就要构建一个大?系数去校正它们之间质数个数的误差。从而提高a^2~(a+1)^2之间质数个数的准确性。
随着自然数a的逐渐增大,首先计算出在a^2~(a+1)^2之间数的质数个数。当a开四次方根号,即5≤√√a<9时,a^2~(a+1)^2之间数的计算质数个数与实际质数个数会有一定误差,即:取小于等于√a~5内的每一个质数依次除√a,把所有计算出来的数,取其商的整数相加,去减a^2~(a+1)^2之间所计算出的质数个数,其差就可以减少与实际质数个数的误差。
在1296^2~1297^2之间有2592个数,偶数有1296个数,奇数有1296个数,在1296~3内有共计199个质数。由大到小依次除1296,小于1296的最大质数为1291,当小数小于0.5,小数取0,当小数大于0.5,小数取1,计算方法如下:
1296÷1291≈1.003,0.003<0.5
(1296-1)÷1289≈1.004
……
(1296-68)÷821≈1.4,0.49<0.5
(1296-68-1)÷811≈1.51,051>0.5
(1296-68-1-2)÷809≈1.51
……
(1296-68-1-2-2-……-76)÷3=102
1296-68-1-2-2-……-76-102=204
经计算在1296^2~1297^2之间有204个质数,而实际有179个质数,故204-179=25,计算质数与实际质数相差25个质数。造成这种原因是因为在计算时,当小数小于0.5时没有计数,故有漏掉的合数混入计算质数里。这时就要构建一个大?系数去校正它们之间的质数个数误差。
故取√√1296=6,由于5<6<9,√1296=36,则取36~5内质数除36。
36~5内质数有31、29、23、19、17、13、11、7、5
36÷31=1.1,36÷29=1.2,36÷23=1.5
36÷19=1.8,36÷17=2.1,36÷13=2.7
36÷11=3.2,36÷7=5.1,36÷5=7.2
把所有计算出来的数,取其整数全部相:1+1+1+1+2+2+3+5+7=23,表示为1296^2~1297^2之间计算质数204-23等于181个质数,实际质数为179个质数,它们之间误差2个质数。这样就提高了a^2~(a+1)^2之间质数个数的准确性。
④、在a^2~(a+1)^2里,当奇数√√a≥9时,与5≤√√a<9的算法一样,先求出a^2~(a+1)^2之间的质数个数,再构建一个大?系数去校正计算质数个数与实际质数个数的误差。不同的是当√√a≥9,取值范围是小于等于√a~3内的质数除√a,而当5≤√√a<9,取值范围是小于等于√a~5内的质数除√a。
在10000^2~10001^2里有20000个数,偶数为10000,奇数为10000,10000~3内有1228个质数。则有
10000÷9971≈1.002,0.002<0.5
(10000-1)÷9883=1.01
……
(10000-394)÷6421=1.49,0.49<0.5
(10000-394-1)÷6397=1.501,0.501>0.5
(10000-394-1-2)÷6389=1.503
……
(10000-394-1-2-2-……-459)÷3=661.33
10000-394-1-2-2-……-459-661=1223
经计算在10000^2~10001^2之间有1223个质数,实际有1081个质数,1223-1081=142,计算质数个数与实际质数个数误差142个质数。
有人会说自然数是无穷的,且质数是无规律,通过上面所举例方程,就能计算岀每个a^2~(a+1)^2之间的质数个数吗?
虽然计算岀的质数个数与实际质数个数有误差,但不有很大误差。
因为一个无穷大的空间,都是由无穷多个有限空间构成。例如1个人、2个人、3个人、……、无穷多个人。假设把1个人、2个人、3个人都看成每一个有限空间,无穷多个人则为无穷多个有限空间。所以有限空间不是无穷多个,则不能构成一个无穷大的空间。自然数是由无穷多个a^2~(a+1)^2构成,而a^2~(a+1)^2之间数的个数是有限,且无缝隙把自然数连接起来。虽然质数是无规律 ,但从已知的计算结果来看,每两个相临的a^2~(a+1)^2之间数的个数相差2个数,所以它们之间的实际质数个数误差不大,且是缓慢渐进的增多。故在计算a^2~(a+1)^2之间的质数个数是有规律可寻。
例如,在a^2~(a+1)^2里有a个奇数。
①当a<3时,则a个奇数都是质数。
②当a≥时,则取小于等于a~3之间的质数除奇数a,从而求出a^2~(a+1)^2之间数的计算质数个数。
③当5≤√√a<9时,先求出a^2~(a+1)^2之间数的计算质数个数,再取小于等于√a~5之间的质数除√a,取其商的整数相加,减先前所求出的计算质数个数,其差与实际质数个数误差不会很大。
④当√√a≥9时,先求出a^2~(a+1)^2之间的计算质数个数,再取小于等√a~3内的质数除√a,取其整数相加,减先前所求出的计算质数个数,其差与实际质数个数误差不会很大。
通过对上面规律的了解,在计算a^2~(a+1)^2之间数的质数个数,还是有规律可寻。因为随着自然数a的不断增大,在a^2~(a+1)^2之间会有越来越多支点,可以构建更多不同的大?系数去校正计算质数与实际质数的误差。
在求a^2~(a+1)^2之间的质数个数时,随着自然数a的不断增大,难度系数会越来越复杂。故需要一个更方便快捷的方法,来求出a^2~(a+1)^2之间的质数个数。
在a^2~(a+1)^2里有a个奇数,当a≥3^2时,则令小于等于√a的质数由大到小为q1、q2、q3、……、2依次除奇数a,当√a为质数,则√a取其整数为q1,当√a取其整数为合数,则q1为√a内最大质数。
其公式如下:
a÷q1=k1+t,(k1为整数,t为小数,只取k1减a,后面同理)
(a-k1)÷q2=k2+t
(a-k1-k2)÷q3=k3+t
……
(a-k1-k2-k3-……)÷2=M+t,(M为整数,t为小数)
取M即为a^2~(a+1)^2之间数的计算质数个数。
在1296^2~1297^2里有1296个奇数,√1296=36>3^2,且5≤√√1296<9,故取小于36~2之间的质数由大到小依次除1296,得
1296÷31=41.8
(1296-41)÷29=43.2
(1296-41-43)÷23=52.6
(1296-41-43-52)÷19=61.05
(1296-41-43-52-61)÷17=64.6
(1296-41-43-52-61-64)÷13=79.6
(1296-41-43-52-61-64-79)÷11=86.9
(1296-41-43-52-61-64-79-86)÷7=124.2
(1296-41-43-52-61-64-79-86-124)÷5=149.2
(1296-41-43-52-61-64-79-86-124-149)÷3=199
(1296-41-43-52-61-64-79-86-124-149-199)÷2=199
这时要构建一个大?系数去校正计算质数个数与实际质数个数之间的误差,取小于√1296~5之间的质数除√1296,即取36~5之间的质数除36,经计算且取其商的整数相加为23,再取199-23=176,这表示经计算在1296^2~1297^2之间有176个计算质数,实际有179个质数。它们之间误差3个质数。
从上面的计算可以看到,在1296^2~1297^2之间有1296个奇数,且5≤√√1296<9,取小于1296~3之间有199个质数,由大到小依次除1296需要199步,而取√1296~2之间有11个质数,由大到小依次除1296只需要11步,这样就极大的减少了计算步骤。且这两种方法所求出的计算质数个数,都要构建一个大?系数去校正计算质数个数与实际质数个数的误差。
故当奇数a≥3^2,在计算a^2~(a+1)^2之间数的质数个数时,当取小于等于√a~2之间质数由大到小依次除奇数a的计算步骤,与取小于等于a~3之间质数由大到小依次除奇数a的计算步骤,会成指数级数的减少。且当这两种方法中奇数a达到5≤√√a<9时,都需要构建一个大?系数去校正计算质数个数与实际质数个数的误差。
在a^2~(a+1)^2里,当√√a≥9时,与5≤√√a<9时计算一样,先求出a^2~(a+1)^2之间数的计算质数个数,再取一个大?系数去校正计算质数个数与实际质数个数的误差,不同之处是大?系数的取值范围不一样,当√√a≥9的取值范围是√a~2之间的质数除a,而5≤√√a<9的取值范围是√a~5之间的质数除a。
例如,在10000^2~10001^2之间有10000个奇数,取√10000~2之间有25个质数由大到小依次除10000,经计算有1202个质数。由于√√10000>9,故取√10000~3之间有24个质数除√10000,经计算且取其商的整数相加为121,取1205-121=1084,表示在10000^2~10001^2之间有1081个计算质数,实际有1081个质数,故它们之间误差数为3。
由于整个自然数能无缝隙的分解为a^2~(a+1)^2,在a^2~(a+1)^2之间有a个奇数和a个偶数,且每相临的两个a^2~(a+1)^2之间的数值个数都误差2个数。
①当自然数a≥3时,取小于等于a~3的质数除a,就能求出a^2~(a+1)^2之间数的质数个数。
②当自然数a≥3^2时,取小于等于√a~2的质数除奇数a,与取小于等于a~3的质数除a相比,相计算步骤是以指数级数的减少,且同样能求出a^2~(a+1)^2之间数的质数个数。
故当自然数a≥3^2时,a^2~(a+1)^2则可记为(a^2)^2~(a^2+1)^2,即a^4~(a^2~1)^2,由此就可以估算A^4~(A+1)^4之间数的质数个数。因为在A^4~(A+1)^4里,可以分解出2A+1个(a^2)^2~(a^2+1)^2,且在(a^2)^2~(a^2+1)^2里有a^2个奇数和a^2个偶数,它们可以无缝隙的连接A^4~(A+1)^4,在求A^4~(A+1)^4里的每个(a^2)^2~(a^2+1)^2之间数的质数个数,都是以小于等于a~2的质数由大到小依次除奇数a^2。
在A^4~(A+1)^4之间数的计算质数个数时,首先求出a^4~(a^2+1)^2之间数的计算质数个数,然后再乘2A+1,即为A^4~(A+1)^4之间数的计算质数个数。
其方程为:M(2A+1)
M为a^4~(a^2+1)^2之间数的计算质数个数。
这样在求A^4~(A+1)^4之间数的计算质数个数时,会以指数级数的扩大,且极大的缩短了计算时间复杂度。
当A^4≤20^4时,用方程M(2A+1)所计算A^4~(A+1)^4之间数的计算质数个数都小于实际质数个数,因为20^2加21^2之和开根号等于整数29,为最大两个连续自然数平方之和开根号等于整数,也就是两个连续自然数平方之和的最大勾股数。欧拉有一个计算质数的方程为n^2-n+41,当n<41时,所计算出的数都为质数,但欧拉的计算方程最小质数为41,如果以n^2-n为模型,而常数分别为41、11、5、3,且n都分别小于常数41、11、5、3,那么它们就能把小于n^2-n+41内所有质数都能求出来。
当a^4≥21时,用方程M(2A+1)所计算A^4~(A+1)^4里的计算质数个数都大于实际质数个数,且随着自然数a的不断增大,它们之间的误差数也会不断,故在计算A^4~(A+1)^4之间数的质数个数时,则不用大?系数,而是直接用a^4~(a^2+1)^2之间数的计算质数个数来计算A^4~(A+1)^4之间数的质数个数。
当A^4≥21^4时,计算A^4~(A+1)^2之间数的计算质数公式为:
M(1-M1/M÷12)(2A+1)
M为A^4~(A+1)^4里的a^4~(a^2+1)^2之间数的计算质数个数。
M1为(A+1)^4~(A+2)^4里的(a+1)^4~((a+1)^2+1)^2之间数的计算质数个数。
12为常数。
2A+1表示为A^4~(A+1)^4可以分解出a^4~(a^2+1)^2型式的个数。
用方程M(1-M1/M÷12)(2A+1)去计算从25^4~87^4之间数的计算质数个数与实际质数个数相比都略微偏小,但所计算出的每一个A^4~(A+1)^4之间数的计算质数个数的正确率可达94/100,而当a^4≥88^4时,就会出现正负误差数,其正确率可达98/100。
下面为88^4~104^4的质数表。
88→953.5→104→154535→842→154528→7
88表示为88^4~89^4
953.5表示为88^4~(88^2+1)^2之间数的计算质数个数,其方法为取88^4~(88^2+1)^2之间数的奇数88^2依次由大到小除以小于等于88~2的质数。如88^2÷83=93.3,(88^2-93)÷79=96.8,……,(88^2-93-96-……-953)÷2=953.5
104表示为88^4~(88^2+1)^2之间的大?数,其方法为取88除以小于等于88~3的质数,取其商的整数相加,如88÷83=1.0,88÷79=1.1,……,88÷3=29.3。
154535表示为88^4~89^4之间数的计算质数个数,其方法为:953.5*(1-965/953.5*1/12)*(88+89)=154535.75。
842表示为88^4~(88^2+1)^2之间数的实际质数个数。
154528表示为88^4~89^4之间数的实际质数个数。
7表示为88^4~89^4之间数的计算质数减实际质数的正负误差数。
下面同理
89→965.0→105→158019→879→159519→-1500
90→986.5→107→163352→873→164704→-1352
91→1008→109→168741→922→16664→-923
92→1031→110→174501→939→174754→-253
93→1053→112→180143→952→180103→40
94→1076→113→186054→962→185608→446
95→1099→115→192034→1018→190831→1203
96→1123→116→198500→1044→196671→1826
97→1134→117→202328→1002→202354→-26
98→1157→118→208540→1040→208252→288
99→1181→120→215036→1057→214060→976
100→1205→121→221820→1081→220344→1476
101→1217→122→226048→1096→26304→-256
102→1241.5→124→233093→1184→232718→375
103→1253.5→125→237429→1158→238854→-1425
104→1278→126→244408→1187→245198→-790
105→1303→129→……→1231→…
从上面表格看到,随着自然数a的增大,每相临的两个A^4~(A+1)^4之间数的实际质数个数会有一定比例增长,不是完全相同等比例的增长,它们之间的误差数不是很大,用公式M*(1-M1/M÷12)*(2A+1)所计算的质数个数与实际质数个数就会有一定的误差。在88^4~104^4之间数的计算质数个数为3364581,实际质数个数为3364469,计算质数减实际质数正负误差数为112,故88^4~104^4之间数的计算质数平均正确率可达百分之九十九点九以上。
如何证明以上方法的正确性,可以从以下几个方面去考虑。
①、全体自然数只分为奇数与偶数,而奇数又分为质数与合数,合数为两个或两个以上的质数相乘的乘积,故一定先有质数,后有合数。在a^2~(a+1)^2里有a个奇数和a个偶数,用小于等于a~3的质数由大到小依次除奇数a,即减掉了a^2~(a+1)^2里的奇数a的质数倍数,所余下的数则为计算质数个数。
②、a^2~(a+1)^2可以无缝隙的把自然数连接起来,而A^4~(A+1)^4则可以完全分解为2A+1个A^4~(A^2+1)^2,故在a^2~(a+1)^2里有a个奇数和a个偶数,而在A^4~(A^2+1)^2里则有A^2个奇数和以A^2个偶数,它们都是用小于等于√A~2的质数由大到小依次除A^2,所余下的数为计算质数个数。
③、随着自然数的不断增大,在计算a^2~(a+1)^2之间数的质数个数时,会有越来越多的两个或两个以上的质数相乘的合数,故有漏掉的合数混入计算质数个数里,所以要构建大?系数去校正计算质数个数与实际质数个数的误差。随着自然数a的无限增大,会有越来越多的支点,就可以更多的构建不同大?系数,去校正它们之间的正负误差数。
④、在计算A^4~(A+1)^4之间数的质数个数时,当A^4≤20^4时,在以A^4~(A^2+1)^2之间数的计算质数为基础,去计算A^4~(A+1)^4之间数的计算质数个数都要小于实际质数个数。当A^4≥21^4时,在以A^4~(A^2+1)^z之间数的计算质数歹基础,去计算A^4~(A+1)^4之间数的计算质数个数都要大于实际质数个数。其增长率大于0.9,小于1,故取1-M1/M÷12为增大值。对常数12是否要作调整,或怎么有规律调整,就留给专业人员去作专业分析。
⑤、当A为质数,A+n为质数,A和A+n为相临的两个质数,在计算A^4~(A+1)^4至(A+n-1)^4~(A+n)^4之间数的质数个数时,它们都是取小于等于A~2的质数除A^2,故对A^4~(A+1)^4至(A+n-1)^4~(A+n)^4之间数的计算质数个数还可进行调整,因为当A<(A+A+n)/2时,所计算的质数个数略小于实际质数个数。当A>(A+A+n)/2时,所计算的质数个数略大于实际质数个数。
注:在计算任意充分大P^2范围内的质数个数时,取小于等于P~2里的质数由大到小依次除P^2,每除一次,取其商的整数减P^2,其余数再次作为被除数除以下一个质数,如些循环计算至2为止,所余数值即为P^2内的计算质数个数。其中具体细节和分解情况这里就不详谈,如果有对此感兴趣的网友或专业人士可以去详细分析。
当A^4足够充分大,在计算A^4~(A+1)^4之间数的质数个数,还有两种方法,分别为折叠法和切割法,由于有些因素还不太成熟,这里就不详谈。如果能找到它们之间的规律,将不再受条件因素限制,则可求出任意无穷大的A^4~(A+1)^4之间数的质数个数。
以上为小于给定数值的质数个数的一些证明方向。
整篇文章主要讲了三个内容好像与两个猜想有关。
①大数整数分解试乘法的零点是否为非凡零点。
②如何应用多项式对大数进行整数分解是否与P≠NP有关。
③上面已经简单介绍了,如何用公式去计算小于给定数值里的质数个数,这是否与黎曼猜想有关。
以上纯属个人观点。
如果以上三个内容能被证明成立,并得到推广,我想应该算数论里的一个全新发现吧。
最后附打油诗一首,送给正在为梦想而战的人。
十年寒苍泪,八载磨一剑。
其中辛酸累,又有谁人知。
作者:谢自飞
电话:18802087840
地址:四川.内江
创业项目群,学习操作 18个小项目,添加 微信:jjs406 备注:小项目!
如若转载,请注明出处:https://www.xmfxquan.com/13422.html