|

楼主 |
发表于 2021-6-1 16:52
|
显示全部楼层
SELECT 1
USE D:\二生素数分解\素数式23.DBF ALIAS 素数式23
SELECT 2
USE D:\二生素数分解\二生相邻素数式.DBF ALIAS 相邻素数式
kssj=SECONDS()
m=70473797
For i=3 to 29
@ 5,10 say i
SELECT 1
GO 1
FOR j=1 TO 36495360
ss23=素式23
jlh=RECNO()
pdz=ss23+(i-1)*223092870 && pdz是判断值的缩写(速写)
IF MOD(pdz,29)=0 && 如果S被其中素数之一整除就跳过,什么也不做
ELSE &&否则执行第二步方案
m=m+1
@ 15,20 say m
ss1=pdz
SELECT 1
GO jlh+1
FOR h=1 TO 2
ss2=素式23
pdz2=ss2+(i-1)*223092870 && pdz是判断值的缩写(速写)
IF MOD(pdz2,29)=0
SELECT 1
GO jlh+2
ELSE
kd=pdz2-ss1
EXIT
ENDIF
ENDFOR
IF kd=42
SELECT 2 &&打开盛放素数式的表
APPEND BLANK &&增加一条空记录
REPLACE 序号 WITH m &&将B值付给素数式
REPLACE 跨度 WITH 42 &&将B值付给素数式
REPLACE 素数式 WITH ss1 &&将B值付给素数式
ENDIF
endif
SELECT 1
GO jlh+1
endfor
endfor
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这个程序运行了612分3.63秒(27个周期,前两个周期没有留下记录)。
运算结果正确,是272个记录条。 |
|