数学中国

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

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

  [复制链接]
发表于 2022-1-1 20:22 | 显示全部楼层
SELECT 1
USE g:\一加m问题\二生素数d6.DBF ALIAS 二素中表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表

kssj=SECONDS()
bwjm="偶数周期表二中自加d6"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 1
            GO 1
                FOR k1=1  TO  2446
                @ 15,22 say k1
                A=二素6
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 2446
                  jl2=recno()
                  B=二素6
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  GO jl2+1
                  ENDFOR
                SELECT 1
                GO jl1+1
              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,"运行时间提示")
二生素数的中项自相加程序。
回复 支持 反对

使用道具 举报

发表于 2022-1-2 21:04 | 显示全部楼层
SELECT 1
USE g:\一加m问题\二生素数d8.DBF ALIAS 二素中表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表

kssj=SECONDS()
bwjm="偶数周期表二中自加d8"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
      
   
        
      
        
           SELECT 1
            GO 1
                FOR k1=1  TO  1258
                @ 15,22 say k1
                A=二素8
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 1258
                  jl2=recno()
                  B=二素8
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  GO jl2+1
                  ENDFOR
                SELECT 1
                GO jl1+1
              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,"运行时间提示")
又是汤药不换的小程序。
回复 支持 反对

使用道具 举报

发表于 2022-1-3 20:11 | 显示全部楼层
SELECT 1
USE g:\一加m问题\二生素数d10.DBF ALIAS 二素中表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表

kssj=SECONDS()
bwjm="偶数周期表二中自加d10"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
     
           SELECT 1
            GO 1
                FOR k1=1  TO  1622
                @ 15,22 say k1
                A=二素10
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 1622
                  jl2=recno()
                  B=二素10
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  GO jl2+1
                  ENDFOR
                SELECT 1
                GO jl1+1
              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,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-3 21:14 | 显示全部楼层
SELECT 1
USE g:\k生素数串\孪生串11.DBF ALIAS 孪生串11
SELECT 2
USE g:\k生素数串\孪生串13.DBF ALIAS 孪生串13

kssj=SECONDS()
FOR i=1 TO 13
@ 15,22 say i
               SELECT 1
                GO 1
                FOR j=1  TO  135
                A=孪串11
               && jl1=recno()
                 s=A+(i-1)*2310
                 IF MOD(s,13)=1 OR MOD(s,13)=12
                   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-3 21:19 | 显示全部楼层
SELECT 1
USE g:\k生素数串\孪生串13.DBF ALIAS 孪生串13
SELECT 2
USE g:\k生素数串\孪生串17.DBF ALIAS 孪生串17

kssj=SECONDS()
FOR i=1 TO 17
@ 15,22 say i
               SELECT 1
                GO 1
                FOR j=1  TO  1485
                A=孪串13
               && jl1=recno()
                 s=A+(i-1)*30030
                 IF MOD(s,17)=1 OR MOD(s,17)=16
                   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-3 21:21 | 显示全部楼层
SELECT 1
USE g:\k生素数串\孪生串17.DBF ALIAS 孪生串17
SELECT 2
USE g:\k生素数串\孪生串19.DBF ALIAS 孪生串19

kssj=SECONDS()
FOR i=1 TO 19
@ 15,22 say i
               SELECT 1
                GO 1
                FOR j=1  TO  22275
                A=孪串17
               && jl1=recno()
                 s=A+(i-1)*510510
                 IF MOD(s,19)=1 OR MOD(s,19)=18
                   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-3 21:24 | 显示全部楼层
SELECT 1
USE g:\k生素数串\孪生串19.DBF ALIAS 孪生串19
SELECT 2
USE g:\k生素数串\孪生串23.DBF ALIAS 孪生串23

kssj=SECONDS()
FOR i=1 TO 23
@ 15,22 say i
               SELECT 1
                GO 1
                FOR j=1  TO  378675
                A=孪串19
               && jl1=recno()
                 s=A+(i-1)*9699690
                 IF MOD(s,23)=1 OR MOD(s,23)=22
                   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-3 22:01 | 显示全部楼层
SELECT 1
USE g:\k生素数串\孪生串23.DBF ALIAS 孪生串23
SELECT 2
USE g:\k生素数串\k串间距表.DBF ALIAS k串间距

kssj=SECONDS()
FOR k=3 TO 10
@ 15,22 say k
               SELECT 1
                GO 1
                A=孪串23
                SKIP k
                B=孪串23
                C=B-A
                GO 2
                     FOR j=1  TO  4000000
                     D=孪串23
                    jlt=recno()
                    SKIP k
                    E=孪串23
                    F=E-D
                        IF C>F
                           C=F
                        ELSE
                         C=C
                        ENDIF
                  SELECT 1
                  GO jlt+1
                  ENDFOR  
      SELECT 2
      APPEND BLANK   
                    REPLACE k串 WITH k+1
                    REPLACE 间距 WITH C
     ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 04:42 | 显示全部楼层
SELECT 1
USE g:\一加m问题\二生素数d12.DBF ALIAS 二素中表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表

kssj=SECONDS()
bwjm="偶数周期表二中自加d12"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
     
           SELECT 1
            GO 1
                FOR k1=1  TO  2420
                @ 15,22 say k1
                A=二素12
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 2420
                  jl2=recno()
                  B=二素12
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  GO jl2+1
                  ENDFOR
                SELECT 1
                GO jl1+1
              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,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2022-1-4 05:46 | 显示全部楼层
SELECT 1
USE g:\一加m问题\二生素数d14.DBF ALIAS 二素中表
SELECT 3
USE g:\一加m问题\偶数表.DBF ALIAS 偶数表

kssj=SECONDS()
bwjm="偶数周期表二中自加d14"

For i=1 TO 1
       @ 5,12 say i
       wd=bwjm+ALLTRIM(STR(i))
     
           SELECT 1
            GO 1
                FOR k1=1  TO  1486
                @ 15,22 say k1
                A=二素14
               jl1=recno()
                  SELECT  1
                  GO 1
                  For k2=1 to 1486
                  jl2=recno()
                  B=二素14
                 C=A+B
                  SELECT 3
                  APPEND BLANK   
                  REPLACE 偶数 WITH C   
                  SELECT 1
                  GO jl2+1
                  ENDFOR
                SELECT 1
                GO jl1+1
              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 10:52 , Processed in 0.088531 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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