数学中国

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

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

  [复制链接]
 楼主| 发表于 2019-8-20 11:32 | 显示全部楼层
SELECT 1
USE F:\最密k生素数\最密素数式.dbf ALIAS 密素数式
SELECT 2
USE F:\最密k生素数\余数表.dbf ALIAS 余表
SELECT 3
USE F:\最密k生素数\素数表万内.dbf ALIAS 素表
SELECT 4
USE F:\最密k生素数\符合条件的最密素数式.dbf ALIAS 符合素数式
kssj=SECONDS() &&取出开始时间
K=69 &&给k赋值
T=186 &&给出外循环值
FOR I=1 TO T
@ 5,12 say I
    SELECT 3
    go 1
    FOR N=1 TO 1229
    SELECT 3
    E=素数
    SELECT 2
    delete all
    pack
    SELECT 1
    go  k*(I-1)+1
      A=素数式段
         FOR M=1 TO K
           SELECT 1     
           B=素数式段
           C=B-A
           F=MOD(C,E)
           SELECT 2
           count all for F=余数 to js
           IF js=0
             SELECT 2
             APPEND BLANK
             REPLACE 余数 WITH F
           ENDIF
            SELECT 1
            SKIP
         ENDFOR
         SELECT 2
        G=RECCOUNT(2)
        IF G=E
           EXIT         
        ENDIF
        SELECT 3  
        SKIP
   ENDFOR
   IF   N>1229
     SELECT 1
          go k*(I-1)+1
         FOR J=1 TO k
        D=RECNO()
        C=素数式段
          SELECT 4
          APPEND BLANK
          REPLACE 素数式 WITH C
           SELECT  1
           GO D+1
        ENDFOR
  endif
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是一个去伪最密k生素数式的程序,程序有两部分组成,第一部分为主要部分,目的是剔除不能通过素数检验的素数式,主要工作部分,连带部分,为第二部分,当全部通过万内素数检验后,把符合条件的最密k生素数式抄录在另一个已经准备好的表,此程序解决了用手工操作排除工作(原来在Excel中,用手工操作非常费事)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-26 14:57 | 显示全部楼层
SELECT 1
USE F:\最密k生素数\最密素数式位置.dbf ALIAS 密素数式位
SELECT 2
USE F:\最密k生素数\余数表.dbf ALIAS 余表
SELECT 3
USE F:\最密k生素数\素数表万内.dbf ALIAS 素表
SELECT 4
USE F:\最密k生素数\符合条件的最密素数式.dbf ALIAS 符合素数式
SELECT 5
USE F:\最密k生素数\t23素数式.dbf ALIAS 素数式23表
kssj=SECONDS() &&取出开始时间
SELECT 4
delete all
pack
K=113 &&给k赋值
T=631734 &&给出外循环值
FOR I=1 TO T
@ 5,12 say I
SELECT 1
go I
j=位置
    SELECT 3
    go 1
    FOR N=1 TO 1220
    SELECT 3
    E=素数
    SELECT 2
    delete all
    pack
    SELECT 5
    go  j
      A=素数式23
         FOR M=1 TO K
           SELECT 5     
           B=素数式23
           C=B-A
           F=MOD(C,E)
           SELECT 2
           count all for F=余数 to js
           IF js=0
             SELECT 2
             APPEND BLANK
             REPLACE 余数 WITH F
           ENDIF
            SELECT 5
            SKIP
         ENDFOR
         SELECT 2
        G=RECCOUNT(2)
        IF G=E
           EXIT         
        ENDIF
        SELECT 3  
        SKIP
   ENDFOR
   IF   N>1220
     SELECT 5
          go j
         FOR L=1 TO k
        D=RECNO()
        C=素数式23
          SELECT 4
          APPEND BLANK
          REPLACE 素数式 WITH C
           SELECT  5
           GO D+1
        ENDFOR
  endif
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是一个与上楼多少进步一点的程序,它省去了把间距相同的k生素数式先导出去的那一步,而是直接从至23素数式中筛选符合条件的k生素数式,之所以,做如此的变动,是因为,如果把k生素数式导出来,新表的记录条已经大大超限,不得已而为之。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-22 12:53 | 显示全部楼层
2019年已经过去了。
新的一年又开始了,在2020年的时间内,要把vfp的编程思路更进一步,伴随着英语学习,会加快自己对vfp编程的认知。
学而不思则罔,思而不学则殆。
回过头看一看与此相关的文章或许能使自己更上一层楼。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-21 20:20 | 显示全部楼层
我光说不练。2020年半年都过去了,却没有与编程着边。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-25 10:22 | 显示全部楼层
久违了,再不去练习,这些东西就被当饭吃掉了。温故而知新。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-1 15:02 | 显示全部楼层
这个帖子已经10年了,里边记录着自己的编程史,从菜鸟到初步,在到现在这个水平。荒废的时间有点长,需要温习一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 11:54 | 显示全部楼层
兴趣是最好的老师。用兴趣带动自己把编程学好,顺便也学习一点英语和语文知识。学习高等数学,以便提高自己的视野。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-18 11:12 | 显示全部楼层
没有trx先生的填油加醋这里变的也不太热闹了。不知腾瑞熊先生是否还上网。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-18 11:13 | 显示全部楼层
没有trx先生的填油加醋这里变的也不太热闹了。不知腾瑞熊先生是否还上网。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-18 11:14 | 显示全部楼层
没有trx先生的填油加醋这里变的也不太热闹了。不知腾瑞熊先生是否还上网。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 07:44 , Processed in 0.082611 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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