数学中国

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

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

  [复制链接]
发表于 2021-11-28 22:37 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\等差三生素数d6.DBF ALIAS 三中表
SELECT 2
USE d:\最密三生素数\各段三生素数个数d6.DBF ALIAS 三生个数表d6
SELECT 3
USE d:\最密三生素数\偶数表新.DBF ALIAS 偶数表新
SELECT 4
USE d:\最密三生素数\数据源表d6.dbf ALIAS 数据源A
SELECT 5
USE d:\最密三生素数\数据表a.dbf ALIAS 数据A
kssj=SECONDS()
bwjm="偶数周期表d六"
bwjmzj="偶数周期表子集d六"
For i=2 TO 101
      @ 5,12 say i
      wd=bwjm+ALLTRIM(STR(i-1))
      && USE IN 3
      && USE d:\等差四生素数\偶数表新.DBF ALIAS 偶数表新
       SELECT 3
     
       DELETE ALL
       PACK
       wdz=bwjmzj+ALLTRIM(STR(i-1)) &&子集表
      
       SELECT 5
       DELETE ALL
       PACK
       INSERT INTO 数据A (数据1) SELECT 偶元+(i-2)*210000 FROM 数据源A
       FOR j=1 TO INT(i/2)
        @ 15,22 say j
        SELECT  2     
        GO j
        zgs1=总个数
        fgs1=分个数
        SELECT  2
        GO i-j
        zgs2=总个数
        fgs2=分个数
           SELECT 1
           GO zgs1-fgs1+1
               FOR k1=1  TO  fgs1
               A=d6三中
               jl1=recno()
                 SELECT  1
                 GO zgs2-fgs2+1
                 For k2=1 to fgs2
                 jl2=recno()
                 B=d6三中
                 C=A+B
                 SELECT 3
                 APPEND BLANK   
                 REPLACE 偶数 WITH C   
                 SELECT 1
                 GO jl2+1
                 ENDFOR
               SELECT 1
               GO jl1+1
             ENDFOR   
          ENDFOR
       SELECT 3
       USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       select * from 偶数表新.dbf DISTINCT INTO table d:\最密三生素数\&wd
       sele * from 数据A where 数据1 not in(sele 偶数 from &wd ) into table d:\最密三生素数\&wdz
       USE IN &wdz
      USE IN &wd
      
    ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-28 22:37 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\偶数周期表子集总表d六1.DBF ALIAS 子集总表

kssj=SECONDS()

bwjmzj="偶数周期表子集d六"
For i=1 TO 100
      @ 5,12 say i
       wdz=bwjmzj+ALLTRIM(STR(i)) &&子集表
     SELECT 1
     APPEND FROM d:\最密三生素数\&wdz
ENDFOR

=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-28 22:37 | 显示全部楼层
CLOSE DATABASES ALL
USE d:\最密三生素数\偶数周期表子集总表d六1.dbf IN 0
SELECT * FROM 偶数周期表子集总表d六1 WHERE 数据1 IN ( SELECT 数据1 FROM 偶数周期表子集总表d六1 GROUP BY 数据1 HAVING count(*) > 1) order by 数据1 INTO table d:\最密三生素数\偶数双记录表d六1
USE IN 偶数双记录表d六1
回复 支持 反对

使用道具 举报

发表于 2021-11-28 22:38 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\偶数双记录表d六1.DBF ALIAS 偶数双记录表1
SELECT 2
USE d:\最密三生素数\偶数双记录表d六1单.DBF ALIAS 偶数双记录表1单
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 11314
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    && jl=recno()
    PUBLIC A
    A=数据1
   
    IF MOD(i,2)=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 数据1 WITH A    &&将N值付给素数式
    ENDIF
   
   SELECT 1
   skip
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-28 22:38 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\偶数双记录表d六0单.DBF ALIAS 无偶总新单
SELECT 2
USE d:\最密三生素数\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=1 to 54
      @ 3,6 say j
      fw=j*210000
            SELECT 1
            GO 1
            COUNT ALL FOR 数据1<=fw TO tj
              SELECT  2  
              APPEND BLANK   
              REPLACE 范围 WITH fw
              REPLACE 统计 WITH tj
     ENDFOR
   
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-28 22:39 | 显示全部楼层
区段        范围        统计        各段个数
1        210000        6300        6300
2        420000        8386        2086
3        630000        9464        1078
4        840000        10091        627
5        1050000        10497        406
6        1260000        10816        319
7        1470000        11008        192
8        1680000        11162        154
9        1890000        11276        114
10        2100000        11384        108
11        2310000        11466        82
12        2520000        11551        85
13        2730000        11611        60
14        2940000        11662        51
15        3150000        11701        39
16        3360000        11744        43
17        3570000        11772        28
18        3780000        11794        22
19        3990000        11813        19
20        4200000        11836        23
21        4410000        11850        14
22        4620000        11859        9
23        4830000        11873        14
24        5040000        11887        14
25        5250000        11895        8
26        5460000        11901        6
27        5670000        11908        7
28        5880000        11916        8
29        6090000        11920        4
30        6300000        11925        5
31        6510000        11930        5
32        6720000        11933        3
33        6930000        11936        3
34        7140000        11937        1
35        7350000        11940        3
36        7560000        11942        2
37        7770000        11944        2
38        7980000        11946        2
39        8190000        11946        0
40        8400000        11947        1
41        8610000        11949        2
42        8820000        11949        0
43        9030000        11949        0
44        9240000        11951        2
45        9450000        11951        0
46        9660000        11953        2
47        9870000        11954        1
48        10080000        11954        0
49        10290000        11955        1
50        10500000        11955        0
51        10710000        11956        1
52        10920000        11956        0
53        11130000        11956        0
54        11340000        11957        1
最终结论
回复 支持 反对

使用道具 举报

发表于 2021-11-28 22:40 | 显示全部楼层
截止2021年11月28日周日22:45分,热度57,回复1122,浏览量41795.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 08:12 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\数据源表d6.DBF ALIAS 数据源表
kssj=SECONDS()
  For i=(1-1)*63000+1 to (1+1)*63000

      @ 10,22 say i
   n=i
  s=0
  do case
  case MOD(n,9)=1
     s=s+4
  case MOD(n,9)=2
      s=s+6
   case MOD(n,9)=3
      s=s+10
     case MOD(n,9)=4
     s=s+14
  case MOD(n,9)=5
      s=s+16
   case MOD(n,9)=6
      s=s+20
     case MOD(n,9)=7
     s=s+24
  case MOD(n,9)=8
      s=s+26
   case MOD(n,9)=0
      s=s+30
   endcase
     
    wou=INT((n-1)/9)*30+s
   
         SELECT 1
         APPEND BLANK     &&增加一条空记录
         REPLACE 偶元 WITH wou      
      
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 08:12 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\等差三生素数d30.DBF ALIAS 三中表
SELECT 2
USE d:\最密三生素数\各段三生素数个数d30.DBF ALIAS 三生个数表d30
SELECT 3
USE d:\最密三生素数\偶数表新.DBF ALIAS 偶数表新
SELECT 4
USE d:\最密三生素数\数据源表d30.dbf ALIAS 数据源A
SELECT 5
USE d:\最密三生素数\数据表a.dbf ALIAS 数据A
kssj=SECONDS()
bwjm="偶数周期表d卅"
bwjmzj="偶数周期表子集d卅"
For i=2 TO 101
      @ 5,12 say i
      wd=bwjm+ALLTRIM(STR(i-1))
      && USE IN 3
      && USE d:\等差四生素数\偶数表新.DBF ALIAS 偶数表新
       SELECT 3
     
       DELETE ALL
       PACK
       wdz=bwjmzj+ALLTRIM(STR(i-1)) &&子集表
      
       SELECT 5
       DELETE ALL
       PACK
       INSERT INTO 数据A (数据1) SELECT 偶元+(i-2)*210000 FROM 数据源A
       FOR j=1 TO INT(i/2)
        @ 15,22 say j
        SELECT  2     
        GO j
        zgs1=总个数
        fgs1=分个数
        SELECT  2
        GO i-j
        zgs2=总个数
        fgs2=分个数
           SELECT 1
           GO zgs1-fgs1+1
               FOR k1=1  TO  fgs1
               A=d30中
               jl1=recno()
                 SELECT  1
                 GO zgs2-fgs2+1
                 For k2=1 to fgs2
                 jl2=recno()
                 B=d30中
                 C=A+B
                 SELECT 3
                 APPEND BLANK   
                 REPLACE 偶数 WITH C   
                 SELECT 1
                 GO jl2+1
                 ENDFOR
               SELECT 1
               GO jl1+1
             ENDFOR   
          ENDFOR
       SELECT 3
       USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
       select * from 偶数表新.dbf DISTINCT INTO table d:\最密三生素数\&wd
       sele * from 数据A where 数据1 not in(sele 偶数 from &wd ) into table d:\最密三生素数\&wdz
       USE IN &wdz
      USE IN &wd
      
    ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 08:13 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\偶数周期表子集总表d卅1.DBF ALIAS 子集总表

kssj=SECONDS()

bwjmzj="偶数周期表子集d卅"
For i=1 TO 100
      @ 5,12 say i
       wdz=bwjmzj+ALLTRIM(STR(i)) &&子集表
     SELECT 1
     APPEND FROM d:\最密三生素数\&wdz
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 19:33 , Processed in 0.111106 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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