SELECT 1
USE d:\三生素数中项\等差3中升序.DBF ALIAS 等差3中表
SELECT 2
USE d:\三生素数中项\等差三中和统计表.DBF ALIAS 等差三中和统计
kssj=SECONDS()
SELECT 1
GO 1 &&定位在第一个参与运算值上,本次运行交叉部分,外循坏取前段,内循环取后段,一次产生两组
FOR i=1 TO 17194
@ 9,6 say i
jl=recno()
PUBLIC A
A=dcsz
SELECT 1
GO 21097
FOR j=1 TO 2526
PUBLIC B
B=dcsz
n=A+B
c=n-INT((n-1)/30)*30
d=INT((n-1)/30)*9
IF c<21
SELECT 2
GO INT(c/3)+d
REPLACE tj2 WITH tj2+2 &&本次运行(a+b)的平方交叉部分
ELSE
SELECT 2
GO 3+INT((c-10)/3)+d
REPLACE tj2 WITH tj2+2 &&本次运行(a+b)的平方交叉部分
ENDIF
SELECT 1
skip
ENDFOR
SELECT 1
GO jl+1
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算a∈(0,1千万),c∈(1千3百万,1千5百万),之前已经计算了a^2,2ab,b∈(1千万,1千3百万)
USE d:\三生素数中项\等差3中升序.DBF ALIAS 等差3中表
SELECT 2
USE d:\三生素数中项\等差三中和统计表.DBF ALIAS 等差三中和统计
kssj=SECONDS()
SELECT 1
GO 1 &&定位在第一个参与运算值上,本次运行交叉部分,外循坏取前段,内循环取后段,一次产生两组
FOR i=1 TO 17194
@ 9,6 say i
jl=recno()
PUBLIC A
A=dcsz
SELECT 1
GO 21097
FOR j=1 TO 2526
PUBLIC B
B=dcsz
n=A+B
c=n-INT((n-1)/30)*30
d=INT((n-1)/30)*9
IF c<21
SELECT 2
GO INT(c/3)+d
REPLACE tj2 WITH tj2+2 &&本次运行(a+b)的平方交叉部分
ELSE
SELECT 2
GO 3+INT((c-10)/3)+d
REPLACE tj2 WITH tj2+2 &&本次运行(a+b)的平方交叉部分
ENDIF
SELECT 1
skip
ENDFOR
SELECT 1
GO jl+1
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算a∈(0,1千万),c∈(1千3百万,1千5百万),之前已经计算了a^2,2ab,b∈(1千万,1千3百万)

素数问题的解决是我学习编程永恒的动力。