|

楼主 |
发表于 2024-3-15 21:31
|
显示全部楼层
本帖最后由 愚工688 于 2024-3-16 02:50 编辑
我从来不在【多种余数组合中寻找素数对】,而是在变量取值范围【0,A-3】中寻找符合条件a与b的变量x值。
【x的非同余余数条件: x( y2=1,y3=0,y5≠0,y7≠1与6),
即x的余数条件:2(1)、3(0)、5(1,2,3,4)、7(0,2,3,4,5),
它们在除以素数(2、3、5、7)时有以下不同余数的20种组合:】
这种分析方法说明符合非同余的变量是可以通过中国余数定理的方法求出来的,这从理论上解决了“1+1”必定存在的难点。
这与韩信点兵猜年龄的原理相似。
但是实际的求法就很简单了,只是一个反复筛选的过程,用一个简单程序即可解决问题。符合要求留下,不符合舍去。
例:Basic 程序 《偶数拆分成两个素数与计算》(现在的电脑基本上已经淘汰这个程序语言了,但是我只会这种语言编程,因此我电脑不能使用64位的系统,否则程序都不能使用了。只能用32位的老电脑。)
6 OPEN "Sushu.txt" FOR OUTPUT AS #1
10 INPUT "If M=1 then end.M="; m
12 REM 4<M & M is an even number
15 IF m = 1 THEN GOTO 95
18 PRINT #1, "["; m; "=]:";
20 A = m / 2: C = A - 3: D = (A - 2) / 2
22 S1 = 0: S2 = 0: R1 = 2: K = 1
30 IF INT(A / 2) = A / 2 THEN B = 1: ELSE B = 0
35 FOR X = B TO C STEP 2
40 GOSUB 200
50 NEXT X
60 GOSUB 300
65 S = S1 + S2: E = (D - S) / S: E1 = (D - S1) / S1
70 D = INT(100 * D + .5) / 100: E = INT(10000 * E + .5) / 10000
72 K = INT(100 * K + .5) / 100: E1 = INT(1000 * E1 + .5) / 1000
80 PRINT TAB(0); "M="; m; TAB(10); "S(m)="; S; TAB(21); "S1(m)="; S1; TAB(32); "Sp(m)="; D; TAB(47); "E(m)="; E; TAB(58); "K(m)="; K; TAB(70); "r="; R1
81 PRINT #1,
82 PRINT #1, "M="; m; TAB(12); "S(m)="; S; TAB(24); "S1(m)="; S1; TAB(36); "Sp(m)≈"; D; TAB(51); "δ(m)≈"; E; TAB(68); "K(m)="; K
83 PRINT #1,
84 PRINT
85 GOTO 10
95 END
200 READ R
210 IF SQR(m - 3) < R THEN 250
220 IF INT((A + X) / R) = (A + X) / R THEN 270
230 IF INT((A - X) / R) = (A - X) / R AND A - X > R THEN 270 ELSE 200
250 IF A - X >= R THEN S1 = S1 + 1: ELSE S2 = S2 + 1
260 PRINT #1, A - X; "+"; A + X;
261 PRINT A - X; "+"; A + X;
270 RESTORE
280 RETURN
300 READ R
310 IF SQR(m - 3) < R THEN 340
315 R1 = R
320 IF INT(A / R) = A / R THEN D = D * (R - 1) / R: ELSE D = D * (R - 2) / R
325 IF INT(A / R) = A / R THEN K = K * (R - 1) / (R - 2)
330 GOTO 300
340 RESTORE
350 RETURN
DATA 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 , 53 , 59 , 61 , 67 , 71 , 73 , 79 , 83 , 89 , 97 , 101 , 103 , 107 , 109 , 113 , 127 , 131 , 137 , 139 , 149 , 151 , 157 , 163 , 167 , 173 , 179 , 181 , 191 , 193 , 197 , 199 , 211 , 223 , 227 , 229 , 233 , 239 , 241 , 251 , 257 , 263 , 269 , 271 , 277 , 281 , 283 , 293 , 307 , 311 , 313 , 317 , 331 , 337 , 347 , 349 , 353 , 359 , 367 , 373 , 379 , 383 , 389 , 397 , 401 , 409 , 419 , 421 , 431 , 433 , 439 , 443 , 449 , 457 , 461 , 463 , 467 , 479 , 487 , 491 , 499
DATA 503 , 509 , 521 , 523 , 541 , 547 , 557 , 563 , 569 , 571 , 577 , 587 , 593 , 599 , 601 , 607 , 613 , 617 , 619 , 631 , 641 , 643 , 647 , 653 , 659 , 661 , 673 , 677 , 683 , 691 , 701 , 709 , 719 , 727 , 733 , 739 , 743 , 751 , 757 , 761 , 769 , 773 , 787 , 797 , 809 , 811 , 821 , 823 , 827 , 829 , 839 , 853 , 857 , 859 , 863 , 877 , 881 , 883 , 887 , 907 , 911 , 919 , 929 , 937 , 941 , 947 , 953 , 967 , 971 , 977 , 983 , 991 , 997
实际上偶数拆分成两个素数的工作,主要是由200段语言完成的。非常简单。
300段语言则主要负责连乘式的计算,
当然要拆分大偶数,需要扩充DATA 素数数据库。但是Basic程序运算速度比较慢,只适合百万以下的偶数的拆分。
100——120的【非同余的变量x】值:
A= 50 ,x= : 3 , 9 , 21 , 33 , 39 ,( 47 ),
A= 51 ,x= : 8 , 10 , 20 , 22 , 28 , 32 , 38 ,( 46 ),
A= 52 ,x= : 9 , 15 , 21 ,( 45 ),( 49 ),
A= 53 ,x= : 0 , 6 , 30 , 36 ,( 48 ),( 50 ),
A= 54 ,x= : 7 , 13 , 17 , 25 , 35 , 43 ,( 47 ),( 49 ),
A= 55 ,x= : 12 , 18 , 24 , 42 ,( 48 ),( 52 ),
A= 56 ,x= : 3 , 15 , 27 , 33 , 45 ,( 51 ),( 53 ),
A= 57 ,x= : 4 , 10 , 14 , 16 , 26 , 40 , 44 , 46 ,( 50 ),( 52 ),
A= 58 ,x= : 15 , 21 , 39 , 45 ,( 51 ),( 55 ),
A= 59 ,x= : 0 , 12 , 30 , 42 , 48 ,( 54 ),
A= 60 ,x= : 1 , 7 , 13 , 19 , 23 , 29 , 37 , 41 , 43 , 47 , 49 ,( 53 ),
而“1+1”的得出只是把变量代入“A±x”的结果。
一个变量决定了素对,因此不存在两个素数配不配的问题,更不存在“殆素数”的重大缺陷。
|
|