| 
注册时间2018-10-31最后登录1970-1-1威望 星金币 枚贡献 分经验 点鲜花 朵魅力 点上传 次下载 次积分2782在线时间 小时 
 | 
 
 楼主|
发表于 2021-10-17 12:26:27
|
显示全部楼层 
| 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,"运行时间提示")
 上边程序,素数43的设置有误,与素数的变量名相同,导致结果错误。
 | 
 |