![]() |
#202
独木星空2021-11-28 22:57
区段 范围 统计 各段个数
1 210000 6300 6300 2 420000 8386 2086 3 630000 9464 1078 4 840000 10091 627 5 1050000 10497 406 6 1260000 10816 319 7 1470000 11008 192 8 1680000 11162 154 9 1890000 11276 114 10 2100000 11384 108 11 2310000 11466 82 12 2520000 11551 85 13 2730000 11611 60 14 2940000 11662 51 15 3150000 11701 39 16 3360000 11744 43 17 3570000 11772 28 18 3780000 11794 22 19 3990000 11813 19 20 4200000 11836 23 21 4410000 11850 14 22 4620000 11859 9 23 4830000 11873 14 24 5040000 11887 14 25 5250000 11895 8 26 5460000 11901 6 27 5670000 11908 7 28 5880000 11916 8 29 6090000 11920 4 30 6300000 11925 5 31 6510000 11930 5 32 6720000 11933 3 33 6930000 11936 3 34 7140000 11937 1 35 7350000 11940 3 36 7560000 11942 2 37 7770000 11944 2 38 7980000 11946 2 39 8190000 11946 0 40 8400000 11947 1 41 8610000 11949 2 42 8820000 11949 0 43 9030000 11949 0 44 9240000 11951 2 45 9450000 11951 0 46 9660000 11953 2 47 9870000 11954 1 48 10080000 11954 0 49 10290000 11955 1 50 10500000 11955 0 51 10710000 11956 1 52 10920000 11956 0 53 11130000 11956 0 54 11340000 11957 1 上楼程序最终结果。 |
* 以大定小选配素数对
LOCAL xjl,djl,ts,xss,dss,kssj,tj
CLEAR
SELECT 1
USE D:\vfp温习\L8四生素数尾素不能合成数.DBF ALIAS 素数对 &&素数对表结构:偶数、统计
SELECT 2
USE D:\vfp温习\L8四生素数真表.DBF ALIAS 素数表
kssj=SECONDS()
FOR i=23000001 to 24000000
@ 3,6 say i
n=i
X=8+(INT((n-INT((n-1)/5)*5)/2)+(n-INT((n-1)/5)*5))*30+INT((n-1)/5)*210 &&这是在给被判偶数置数,思路每5个偶数构成一个循环期,步长210。
Y=X/2 &&求出偶数的中值(上一条置数语句,除了外步长210,还有内步长30,但是有2个间断点,所以有些复杂。
SELECT 素数表
LOCATE FOR 四素>X
DO CASE
CASE EOF()
GO Bottom
CASE 四素>X
SKIP -1
ENDCASE
xjl=1
djl=RECNO()
t=.T.
DO WHILE t
dss=四素
GO xjl
xss=四素
&&放在这里比较合适,这里原来显示小素数的值,去掉了。
IF xss<Y+1 OR dss>Y-1 &&判断跳出语句如果放在后面,有时出现一个重复素数对
t=.T.
ELSE
t=.F. &&跳出命令
ENDIF &&结束判断
DO CASE
CASE xss+dss>X
GO djl
SKIP -1
djl=RECNO()
CASE xss+dss=X
EXIT
CASE xss+dss<X
GO xjl
SKIP
xjl=RECNO()
GO djl
ENDCASE
ENDDO
IF xss>Y OR dss<Y
SELECT 素数对
APPEND BLANK
REPLACE 偶数 WITH X
ENDIF
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是我编写的程序,下一贴把四生素数表(最末的一项代表值,即一组四生素数用最末的一个素数代替),发上来,还有存储表:不能被合成的偶数。