数学中国

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

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

  [复制链接]
发表于 2021-12-27 21:53 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表百万.DBF ALIAS 素数表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表
SELECT 4
USE g:\一加m问题\等差5生素数d6过5.dbf ALIAS 等五素表

kssj=SECONDS()
bwjm="偶数周期表一加五等"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 4
            GO 1
                FOR k1=1  TO  74
                A=等素
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 78495
                  jl2=recno()
                  B=素数
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  skip
                  ENDFOR
                SELECT 4
                skip
              ENDFOR   
         
        SELECT 3
        USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       USE g:\一加m问题\偶数表.dbf && 设源表的名称为"表1"
       P=''
       FOR K=1 TO FCOUNT()
       P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

       SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF g:\一加m问题\&wd
        
       USE IN &wd
      
     ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 22:44 | 显示全部楼层
SELECT 1
USE g:\一加m问题\偶数周期表一加五全等1.DBF ALIAS 偶数周期表
SELECT 2
USE g:\一加m问题\缺偶数表.DBF ALIAS 缺偶数
kssj=SECONDS()
For i=1 to 499840
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=偶数
    SKIP 1
    PUBLIC B
    B=偶数
    cj=B-A
    IF cj>2
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 偶数 WITH A+2         &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
寻找缺少的偶数程序。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-29 19:41 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表十万.DBF ALIAS 素数表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表
SELECT 4
USE g:\一加m问题\二生素数d4.dbf ALIAS 二素表

kssj=SECONDS()
bwjm="偶数周期表一加2d4"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 4
            GO 1
                FOR k1=1  TO  1215
                A=二素4
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 9590
                  jl2=recno()
                  B=素数
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  skip
                  ENDFOR
                SELECT 4
                skip
              ENDFOR   
         
        SELECT 3
        USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       USE g:\一加m问题\偶数表.dbf && 设源表的名称为"表1"
       P=''
       FOR K=1 TO FCOUNT()
       P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

       SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF g:\一加m问题\&wd
        
       USE IN &wd
      
     ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2021-12-29 20:28 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表十万.DBF ALIAS 素数表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表
SELECT 4
USE g:\一加m问题\二生素数d6.dbf ALIAS 二素表

kssj=SECONDS()
bwjm="偶数周期表一加2d6"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 4
            GO 1
                FOR k1=1  TO  2447
                A=二素6
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 9590
                  jl2=recno()
                  B=素数
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  skip
                  ENDFOR
                SELECT 4
                skip
              ENDFOR   
         
        SELECT 3
        USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       USE g:\一加m问题\偶数表.dbf && 设源表的名称为"表1"
       P=''
       FOR K=1 TO FCOUNT()
       P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

       SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF g:\一加m问题\&wd
        
       USE IN &wd
      
     ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2021-12-30 04:38 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表十万.DBF ALIAS 素数表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表
SELECT 4
USE g:\一加m问题\二生素数d8.dbf ALIAS 二素表

kssj=SECONDS()
bwjm="偶数周期表一加2d8"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 4
            GO 1
                FOR k1=1  TO  1259
                A=二素8
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 9590
                  jl2=recno()
                  B=素数
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  skip
                  ENDFOR
                SELECT 4
                skip
              ENDFOR   
         
        SELECT 3
        USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       USE g:\一加m问题\偶数表.dbf && 设源表的名称为"表1"
       P=''
       FOR K=1 TO FCOUNT()
       P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

       SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF g:\一加m问题\&wd
        
       USE IN &wd
      
     ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
一般情况下,程序与数据是相辅相成的
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2021-12-30 06:44 | 显示全部楼层
SELECT 1
USE g:\一加m问题\素数表十万.DBF ALIAS 素数表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表
SELECT 4
USE g:\一加m问题\二生素数d10.dbf ALIAS 二素表

kssj=SECONDS()
bwjm="偶数周期表一加2d10"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 4
            GO 1
                FOR k1=1  TO  1623
                A=二素10
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 9590
                  jl2=recno()
                  B=素数
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  skip
                  ENDFOR
                SELECT 4
                skip
              ENDFOR   
         
        SELECT 3
        USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       USE g:\一加m问题\偶数表.dbf && 设源表的名称为"表1"
       P=''
       FOR K=1 TO FCOUNT()
       P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

       SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF g:\一加m问题\&wd
        
       USE IN &wd
      
     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 14:08 , Processed in 0.106410 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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