|

楼主 |
发表于 2022-5-24 10:00
|
显示全部楼层
SELECT 1
USE D:\方程p减2的n次方\素数表万.DBF ALIAS 素数表万
SELECT 2
USE D:\方程p减2的n次方\一加m表.DBF ALIAS 一加m表
kssj=SECONDS() &&取出开始时间
FOR i=70 TO 100 STEP 2
@12,10 SAY i
IF MOD(i,3)=0
s=3
ELSE
s=1
ENDIF
IF MOD(i,5)=0
w=5
ELSE
w=1
ENDIF
IF MOD(i,7)=0
q=7
ELSE
q=1
ENDIF
IF MOD(i,11)=0
yy=11
ELSE
yy=1
ENDIF
IF MOD(i,13)=0
ys=13
ELSE
ys=1
ENDIF
IF MOD(i,17)=0
yq=17
ELSE
yq=1
ENDIF
IF MOD(i,19)=0
yj=19
ELSE
yj=1
ENDIF
IF MOD(i,23)=0
es=23
ELSE
es=1
ENDIF
IF MOD(i,29)=0
ej=29
ELSE
ej=1
ENDIF
IF MOD(i,31)=0
sy=31
ELSE
sy=1
ENDIF
IF MOD(i,37)=0
sq=37
ELSE
sq=1
ENDIF
IF MOD(i,41)=0
ssy=41
ELSE
ssy=1
ENDIF
IF MOD(i,43)=0
sss=43 && ss下边素数用着,出现了错误
ELSE
sss=1
ENDIF
IF MOD(i,47)=0
ssq=47
ELSE
ssq=1
ENDIF
FOR j=9 TO 13999 STEP 2
@22,20 SAY j
IF MOD(j,i)=0
LOOP
ENDIF
IF MOD(j,s)=0 AND s>1
LOOP
ENDIF
IF MOD(j,w)=0 AND w>1
LOOP
ENDIF
IF MOD(j,q)=0 AND q>1
LOOP
ENDIF
IF MOD(j,yy)=0 AND yy>1
LOOP
ENDIF
IF MOD(j,ys)=0 AND ys>1
LOOP
ENDIF
IF MOD(j,yq)=0 AND yq>1
LOOP
ENDIF
IF MOD(j,yj)=0 AND yj>1
LOOP
ENDIF
IF MOD(j,es)=0 AND es>1
LOOP
ENDIF
IF MOD(j,ej)=0 AND ej>1
LOOP
ENDIF
IF MOD(j,sy)=0 AND sy>1
LOOP
ENDIF
IF MOD(j,sq)=0 AND sq>1
LOOP
ENDIF
IF MOD(j,ssy)=0 AND ssy>1
LOOP
ENDIF
IF MOD(j,sss)=0 AND sss>1 && ss下边素数用着,出现了错误
LOOP
ENDIF
IF MOD(j,ssq)=0 AND ssq>1
LOOP
ENDIF
SELECT 1
GO 1
COUNT ALL FOR 素数<=j/i TO tj
SELECT 1
GO 1
FOR k=1 TO tj
SELECT 1
ss=素数
jl=recno()
pdz=j-i*ss
SELECT 1
GO 1
COUNT NEXT i*tj+10 FOR 素数=pdz TO tj1
IF tj1=1
EXIT
ENDIF
SELECT 1
GO jl+1
ENDFOR
IF k>tj
SELECT 2
APPEND BLANK
REPLACE m值 WITH i
REPLACE n值 WITH j
ENDIF
ENDFOR
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是查找“1+m”中的反例程序,1表示素数,m表示m倍的素数,它们的和为正整数。 |
|