数学中国

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

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

  [复制链接]
 楼主| 发表于 2021-11-29 08:13 | 显示全部楼层
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-29 08:14 | 显示全部楼层
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 292
      @ 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-29 08:14 | 显示全部楼层
SELECT 1
USE d:\最密三生素数\偶数双记录表d卅0单.DBF ALIAS 无偶总新单
SELECT 2
USE d:\最密三生素数\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=1 to 13
      @ 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-29 08:15 | 显示全部楼层
经过vfp程序六步处理,获得等差三生素数d30中项和无解偶数分布数据:
区段        范围        统计        每段个数
1        210000        1494        1494
2        420000        1581        87
3        630000        1619        38
4        840000        1633        14
5        1050000        1637        4
6        1260000        1639        2
7        1470000        1639        0
8        1680000        1639        0
9        1890000        1639        0
10        2100000        1639        0
11        2310000        1639        0
12        2520000        1639        0
13        2730000        1640        1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 12:16 | 显示全部楼层
SELECT  1
USE D:\连续整数方程\自然数表.DBF ALIAS 自然数表
SELECT  2
USE D:\连续整数方程\自然数周期表.DBF ALIAS 自然数周期表
kssj=SECONDS()


         
          For j=1 to 4320
          @ 15,22 say j
          B=2*j
         
              SELECT 2
             INSERT INTO 自然数周期表 (自然数) SELECT 自然数+B FROM 自然数表
         
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 12:25 | 显示全部楼层
SELECT  1
USE D:\连续整数方程\自然数表.DBF ALIAS 自然数表
SELECT  2
USE D:\连续整数方程\自然数周期表.DBF ALIAS 自然数周期表
kssj=SECONDS()


         
          For j=1 to 4320
          @ 15,22 say j
          B=4*j
         
              SELECT 2
             INSERT INTO 自然数周期表 (自然数) SELECT 3*自然数+B FROM 自然数表
         
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
上楼制作的“1+2”,本楼制作的“3+4”,下楼制作“5+6”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 12:30 | 显示全部楼层
CLOSE DATA
USE d:\连续整数方程\自然数周期表.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 d:\连续整数方程\相同记录数自然数汇总3 && 取得各记录的相同记录数及其各字段值
SELECT * FROM DBF() WHERE 相同记录数>1 && 该查询结果详细列举了表1中各重复记录的 重复数
USE IN   相同记录数自然数汇总3
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 12:30 | 显示全部楼层
SELECT  1
USE D:\连续整数方程\自然数表.DBF ALIAS 自然数表
SELECT  2
USE D:\连续整数方程\自然数周期表.DBF ALIAS 自然数周期表
kssj=SECONDS()


         
          For j=1 to 4320
          @ 15,22 say j
          B=6*j
         
              SELECT 2
             INSERT INTO 自然数周期表 (自然数) SELECT 5*自然数+B FROM 自然数表
         
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-29 15:29 | 显示全部楼层
SELECT  1
USE D:\连续整数方程\相同记录数1加2.DBF ALIAS 相同记录12
SELECT  2
USE D:\连续整数方程\相同记录数3加4.DBF ALIAS 相同记录34
SELECT  3
USE D:\连续整数方程\自然数二元运算结果表.DBF ALIAS 自然数二元运算
kssj=SECONDS()


          SELECT  2
          GO 1
          For j=1 to 4311
          @ 15,22 say j
          A=自然数
          B=相同记录数
              SELECT 3
             INSERT INTO 自然数二元运算 (自然数,方法数) SELECT 自然数+A ,相同记录数*B FROM 相同记录12
          SELECT 2
          SKIP
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-29 15:30 | 显示全部楼层
SELECT  1
USE D:\连续整数方程\自然数表.DBF ALIAS 自然数表
kssj=SECONDS()


For i=1 to 4320
      @ 5,12 say i
   
    A=i
         
      
              SELECT 1
              APPEND BLANK   
              REPLACE 自然数 WITH A  
         
   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 17:57 , Processed in 0.097946 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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