|

楼主 |
发表于 2020-10-6 13:08
|
显示全部楼层
SELECT 1
USE D:\VFP温习\素数式至23表.DBF ALIAS 素式表
SELECT 2
USE D:\VFP温习\素数23平表.DBF ALIAS 素数表
SELECT 3
USE D:\VFP温习\素数523平段表.DBF ALIAS 新素数表
kssj=SECONDS()
SELECT 1
GO 92
FOR j=1 TO 44657
@ 5,12 say j
SELECT 1 &&打开盛放素数式的表
PUBLIC A
A=素数式
FOR i=1 TO 90
SELECT 2
GO i+8
jl=RECNO()
@ 7,14 say jl
PUBLIC B
B=素数
IF MOD(A,B)=0
EXIT
ENDIF
ENDFOR
IF jl>97
SELECT 3
APPEND BLANK &&增加一条空记录
REPLACE 素数 WITH A &&将S初始值先付给素数式,即第一条记录值为1
ENDIF
SELECT 1
SKIP
endfor
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
修改后,当限制jl>98时,仍然表3无数据,本次改成了jl>97,表3有了数据,可是523^2=273529正好在内,没有排除掉,正常限定大于98才对,无奈出现不了正确结果,才换成97,不知缘故在那儿。我手工把表3中最后一个数273529去掉了(为了表1中523不是最后一条记录,我特地填了个529,也同时去掉了。) |
|