![]() |
#152
独木星空2025-06-20 13:51
SELECT 1
USE d:\最密四生素数文件\四中升序.DBF ALIAS 四中表 SELECT 2 USE d:\最密四生素数文件\四中和值15.DBF ALIAS 四中和15 &&每次需要改动 SELECT 3 USE d:\最密四生素数文件\四中统计表.DBF ALIAS 四中统计表 kssj=SECONDS() SELECT 3 GO 1 FOR k=1 TO 7 &&每次需要改动 @ 9,6 say k jl1=recno() PUBLIC ZL1 ZL1=总量 PUBLIC FL1 FL1=分量 czhi=16-k &&czhi代表差值,即合成区间分量,这里每次需要改动 SELECT 3 GO czhi PUBLIC ZL2 ZL2=总量 PUBLIC FL2 FL2=分量 SELECT 1 GO ZL1-FL1+1 &&定位在第一个参与运算值上,本次运行交叉部分,外循坏取前段,内循环取后段,一次产生两组 FOR i=1 TO FL1 && @ 19,16 say i jl=recno() PUBLIC A A=ssz SELECT 1 GO ZL2-FL2+1&&到段区起始位置 FOR j=1 TO FL2&&循环本区间的数据量 PUBLIC B B=ssz n=A+B c=INT(n/210)*5-148728580 &&10623470*(15-1),每次需要改动 d=(n-210*INT(n/210))/30 IF d<2 SELECT 2 GO c+d REPLACE sztj WITH sztj+2 &&本次运行(a+b)的平方交叉部分 ELSE SELECT 2 GO c+INT((d+INT(d/2))/2) REPLACE sztj WITH sztj+2 &&本次运行(a+b)的平方交叉部分 ENDIF SELECT 1 skip ENDFOR SELECT 1 GO jl+1 ENDFOR SELECT 3&&原来这里没有选择工作区导致第二次循环时中断 GO jl1+1 ENDFOR =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示") 四中和值15和合成分配 |
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\二生素数jg20.DBF ALIAS 二生素数表
kssj=SECONDS()
SELECT 1
GO 1
For i=1 to 50847534
@ 5,12 say i
SELECT 1 &&打开盛放素数式的表
jl=recno()
PUBLIC A
A=素数
SKIP 1
PUBLIC B
B=素数
cj1=B-A &&求前后两个素数的差值
IF cj1=20
SELECT 2
APPEND BLANK &&增加一条空记录
REPLACE ers20 WITH A+10 &&将N值付给素数式
ENDIF
SELECT 1
GO jl+1
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")