|

楼主 |
发表于 2021-7-12 18:39
|
显示全部楼层
LOCAL xjl,djl,ts,xss,dss,kssj,tj
CLEAR
SELECT 1
USE D:\二生素数中项合成\不能被广孪中合成的偶数.DBF ALIAS 广孪中素数对 &&素数对表结构:偶数、统计
SELECT 2
USE D:\二生素数中项合成\二生L4中项.DBF ALIAS 广孪中表
kssj=SECONDS()
FOR i=100 to 10000
@ 3,6 say i
X=6*i &&这是在筛选四生素数置数,非寻找不能合成的偶数。
Y=X/2 &&求出偶数的中值
SELECT 2
LOCATE FOR 二4中>X
DO CASE
CASE EOF()
GO Bottom
CASE 二4中>X
SKIP -1
ENDCASE
xjl=1
djl=RECNO()
t=.T.
DO WHILE t
dss=二4中
GO xjl
xss=二4中
&&放在这里比较合适,这里原来显示小素数的值,去掉了。
IF xss<Y OR dss>Y &&判断跳出语句如果放在后面,有时出现一个重复素数对
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 1
APPEND BLANK
REPLACE 偶数 WITH X
REPLACE 二生间距 WITH 4
ENDIF
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是广孪中和不能合成6n类偶数的搜寻程序,有点瑕疵,可能把正好为孪中2倍的数给搜寻出来(无判情况) |
|