数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 白新岭

[原创]请教vfbpgyfk先生一个编程问题

  [复制链接]
 楼主| 发表于 2022-1-4 10:36 | 显示全部楼层
SELECT 1
USE d:\k生素数串\三生串11.DBF ALIAS 三生串11
SELECT 2
USE d:\k生素数串\三生串13.DBF ALIAS 三生串13

kssj=SECONDS()
FOR i=1 TO 13
@ 15,22 say i
                SELECT 1
                 GO 1
                 FOR j=1  TO  88
                 A=三串11
                && jl1=recno()
                  s=A+(i-1)*2310
                  IF MOD(s,13)=1 OR MOD(s,13)=3 OR MOD(s,13)=10
                    else
                   SELECT 2
                   APPEND BLANK   
                   REPLACE 三串13 WITH s
                  ENDIF
                  
                   SELECT 1
                   skip
                   ENDFOR   
      ENDFOR
      =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
三生素数串制作程序。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-4 10:43 | 显示全部楼层
SELECT 1
USE d:\k生素数串\三生串13.DBF ALIAS 三生串13
SELECT 2
USE d:\k生素数串\三生串17.DBF ALIAS 三生串17

kssj=SECONDS()
FOR i=1 TO 17
@ 15,22 say i
                SELECT 1
                 GO 1
                 FOR j=1  TO  880
                 A=三串13
                && jl1=recno()
                  s=A+(i-1)*30030
                  IF MOD(s,17)=1 OR MOD(s,17)=3 OR MOD(s,17)=14
                    else
                   SELECT 2
                   APPEND BLANK   
                   REPLACE 三串17 WITH s
                  ENDIF
                  
                   SELECT 1
                   skip
                   ENDFOR   
      ENDFOR
      =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-4 10:47 | 显示全部楼层
SELECT 1
USE d:\k生素数串\三生串17.DBF ALIAS 三生串17
SELECT 2
USE d:\k生素数串\三生串19.DBF ALIAS 三生串19

kssj=SECONDS()
FOR i=1 TO 19
@ 15,22 say i
                SELECT 1
                 GO 1
                 FOR j=1  TO  12320
                 A=三串17
                && jl1=recno()
                  s=A+(i-1)*510510
                  IF MOD(s,19)=1 OR MOD(s,19)=3 OR MOD(s,19)=16
                    else
                   SELECT 2
                   APPEND BLANK   
                   REPLACE 三串19 WITH s
                  ENDIF
                  
                   SELECT 1
                   skip
                   ENDFOR   
      ENDFOR
      =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-4 10:53 | 显示全部楼层
SELECT 1
USE d:\k生素数串\三生串19.DBF ALIAS 三生串19
SELECT 2
USE d:\k生素数串\三生串23.DBF ALIAS 三生串23

kssj=SECONDS()
FOR i=1 TO 23
@ 15,22 say i
                SELECT 1
                 GO 1
                 FOR j=1  TO  197120
                 A=三串19
                && jl1=recno()
                  s=A+(i-1)*9699690
                  IF MOD(s,23)=1 OR MOD(s,23)=3 OR MOD(s,23)=20
                    else
                   SELECT 2
                   APPEND BLANK   
                   REPLACE 三串23 WITH s
                  ENDIF
                  
                   SELECT 1
                   skip
                   ENDFOR   
      ENDFOR
      =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 13:46 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表10亿.DBF ALIAS 素数表
SELECT 2
USE g:\一加m问题\二生素数d16.DBF ALIAS 二素表
kssj=SECONDS()
For i=1 to 9592
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    COUNT NEXT 8 FOR 素数-A=16 TO tj
    IF tj=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 二素16 WITH A+8      &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
在素数表中寻找符合条件的二生素数(0,2m)的中项。
回复 支持 反对

使用道具 举报

发表于 2022-1-4 13:47 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表10亿.DBF ALIAS 素数表
SELECT 2
USE g:\一加m问题\二生素数d18.DBF ALIAS 二素表
kssj=SECONDS()
For i=1 to 9592
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    COUNT NEXT 9 FOR 素数-A=18 TO tj
    IF tj=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 二素18 WITH A+9      &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 13:49 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表10亿.DBF ALIAS 素数表
SELECT 2
USE g:\一加m问题\二生素数d20.DBF ALIAS 二素表
kssj=SECONDS()
For i=1 to 9592
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    COUNT NEXT 10 FOR 素数-A=20 TO tj
    IF tj=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 二素20 WITH A+10     &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 13:50 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表10亿.DBF ALIAS 素数表
SELECT 2
USE g:\一加m问题\二生素数d22.DBF ALIAS 二素表
kssj=SECONDS()
For i=1 to 9592
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    COUNT NEXT 11 FOR 素数-A=22 TO tj
    IF tj=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 二素22 WITH A+11     &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 13:51 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表10亿.DBF ALIAS 素数表
SELECT 2
USE g:\一加m问题\二生素数d24.DBF ALIAS 二素表
kssj=SECONDS()
For i=1 to 9592
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    COUNT NEXT 12 FOR 素数-A=24 TO tj
    IF tj=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 二素24 WITH A+12    &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 13:52 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表10亿.DBF ALIAS 素数表
SELECT 2
USE g:\一加m问题\二生素数d26.DBF ALIAS 二素表
kssj=SECONDS()
For i=1 to 9592
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    COUNT NEXT 13 FOR 素数-A=26 TO tj
    IF tj=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 二素26 WITH A+13   &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-18 11:35 , Processed in 0.111222 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表