SELECT 1
USE D:\素数式系数\素数表万.dbf ALIAS 素数表
SELECT 2
USE D:\素数式系数\k6生素数系数表1.dbf ALIAS 系数表
kssj=SECONDS() &&取出开始时间
FOR n=1 TO 999
m=30*INT((n-1)/3)+iif(MOD(n,3)=1,6,iif(MOD(n,3)=2,24,30))
@ 5,12 say n
s=1.0000000000000000
IF MOD(m,5)=0
s=s*2
ELSE
s=s*1
ENDIF
IF MOD(m,7)=0
s=s*2
ELSE
s=s*1
ENDIF
SELECT 1
GO 5
pdz=.F.
DO WHILE NOT pdz
SELECT 1
P=素数
IF 2*P>m+6
pdz=.T.
endif
DO case
CASE MOD(m,P)=0
s=s*(P-3)/(P-6)
CASE MOD(m,P)=MOD(-2,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(2,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(-4,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(4,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(-6,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(6,P)
s=s*(P-5)/(P-6)
otherwise
s=s*1
ENDCASE
SELECT 1
SKIP
enddo
SELECT 2
APPEND BLANK &&增加一条空记录
REPLACE k生 WITH 6 &&将B值付给素数式
REPLACE 三kd WITH m &&将B值付给素数式
REPLACE 系数 WITH 34.5972246684609*s &&将B值付给素数式
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
一个求两组最密3生素数中项差(或和)的(公式)系数程序。
USE D:\素数式系数\素数表万.dbf ALIAS 素数表
SELECT 2
USE D:\素数式系数\k6生素数系数表1.dbf ALIAS 系数表
kssj=SECONDS() &&取出开始时间
FOR n=1 TO 999
m=30*INT((n-1)/3)+iif(MOD(n,3)=1,6,iif(MOD(n,3)=2,24,30))
@ 5,12 say n
s=1.0000000000000000
IF MOD(m,5)=0
s=s*2
ELSE
s=s*1
ENDIF
IF MOD(m,7)=0
s=s*2
ELSE
s=s*1
ENDIF
SELECT 1
GO 5
pdz=.F.
DO WHILE NOT pdz
SELECT 1
P=素数
IF 2*P>m+6
pdz=.T.
endif
DO case
CASE MOD(m,P)=0
s=s*(P-3)/(P-6)
CASE MOD(m,P)=MOD(-2,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(2,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(-4,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(4,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(-6,P)
s=s*(P-5)/(P-6)
CASE MOD(m,P)=MOD(6,P)
s=s*(P-5)/(P-6)
otherwise
s=s*1
ENDCASE
SELECT 1
SKIP
enddo
SELECT 2
APPEND BLANK &&增加一条空记录
REPLACE k生 WITH 6 &&将B值付给素数式
REPLACE 三kd WITH m &&将B值付给素数式
REPLACE 系数 WITH 34.5972246684609*s &&将B值付给素数式
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
一个求两组最密3生素数中项差(或和)的(公式)系数程序。
素数问题的解决是我学习编程永恒的动力。