| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 12674 人关注过本帖
标题:优化程序或者从新编写求四生素数中项不能合成的偶数
取消只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 71楼 独木星空
看来,什么也有失控的时候,刚说,程序可以正常运行了,可无法把话收回,接着执行,一次也没有成功。

素数问题的解决是我学习编程永恒的动力。
2021-10-24 21:38
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\三角递增法\四生素数表中.DBF ALIAS 四中表
SELECT 2
USE D:\三角递增法\各段四生素数个数.DBF ALIAS 四生个数表
SELECT 3
USE D:\三角递增法\偶数表新.DBF ALIAS 偶数表新
kssj=SECONDS()
bwjm="偶数唯一表"
 For i=26 to 27
      @ 5,12 say i
      wd=bwjm+ALLTRIM(STR(i-1))
       SELECT 3
       DELETE ALL
       PACK
       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=四中
               jl=recno()
                 SELECT  1
                 GO zgs2-fgs2+1  &&因为有一条空记录,所以总数--减本段,就是本段起数
                 For k2=1 to fgs2
                 
                 B=四中
                 C=A+B
                 SELECT 3
                 APPEND BLANK   
                 REPLACE 偶数 WITH C   
                 SELECT 1
                 SKIP
                 ENDFOR
               SELECT 1
               GO jl+1
             ENDFOR   
          ENDFOR
           SELECT 3
           use  D:\三角递增法\偶数表新.dbf
           BROWSE LAST
          && OPEN DATABASE D:\三角递增法\偶数表新
       select * from  D:\三角递增法\偶数表新.dbf DISTINCT INTO table d:\三角递增法\&wd
      USE IN &wd
      SELECT 3
      USE D:\三角递增法\偶数表新.dbf
       && CLOSE DATABASES D:\三角递增法\偶数表新
    ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这个程序可以正常运行了!不知道,是否还会出现第二次开玩笑不?改变,一下外循环值,再出现其他的对话框,提示语,我真的就无语了。运行时间:11分51.56秒。
    以前,对话框:打开那个表,手动选择:偶数表新;
    提示:已经在另一个工作区打开
    提示:有不能识别的短语

素数问题的解决是我学习编程永恒的动力。
2021-10-25 06:58
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
运行  For i=26 to 27
用时,13分15.22秒,没有再出现各种情况(不能正常运行情况)。
稍作,改变,可以用于求歌猜数。

素数问题的解决是我学习编程永恒的动力。
2021-10-25 08:46
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
这方面的问题,人们一遇到,就退避三舍。

素数问题的解决是我学习编程永恒的动力。
2021-10-25 10:10
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE G:\三角递增法\四生素数表中.DBF ALIAS 四中表
SELECT 2
USE G:\三角递增法\各段四生素数个数细分.DBF ALIAS 四生个数表细分
SELECT 3
USE G:\三角递增法\偶数表新.DBF ALIAS 偶数表新
kssj=SECONDS()
bwjm="偶数唯一表"
 For i=21 to 30
      @ 5,12 say i
      wd=bwjm+ALLTRIM(STR(i-1))
       SELECT 3
       DELETE ALL
       PACK
       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=四中
               jl1=recno()
                 SELECT  1
                 GO zgs2-fgs2+1
                 For k2=1 to fgs2
                 jl2=recno()
                 B=四中
                 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 G:\三角递增法\&wd
      USE IN &wd
      SELECT 3
      USE IN 3
    ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是移到外储存硬盘,运行的程序,10个外循环值,用时:6分8.94秒。
有一小点,需要每次选择一下:偶数表新,然后,确定。10次手动,怎么解决?

素数问题的解决是我学习编程永恒的动力。
2021-10-25 14:17
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 

素数问题的解决是我学习编程永恒的动力。
2021-10-25 14:47
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
没有人帮助,更不会有人欣赏,真的应了,吹水佬版主那句话,自己在自导自演。

素数问题的解决是我学习编程永恒的动力。
2021-10-25 14:50
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE G:\三角递增法\四生素数表中.DBF ALIAS 四中表
SELECT 2
USE G:\三角递增法\各段四生素数个数细分.DBF ALIAS 四生个数表细分
SELECT 3
USE G:\三角递增法\偶数表新.DBF ALIAS 偶数表新
kssj=SECONDS()
bwjm="偶数唯一表"
 For i=65 to 66
      @ 5,12 say i
      wd=bwjm+ALLTRIM(STR(i-1))
      USE IN 3
      USE G:\三角递增法\偶数表新.DBF ALIAS 偶数表新
       SELECT 3
     
       DELETE ALL
       PACK
       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=四中
               jl1=recno()
                 SELECT  1
                 GO zgs2-fgs2+1
                 For k2=1 to fgs2
                 jl2=recno()
                 B=四中
                 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 G:\三角递增法\&wd
      USE IN &wd
      SELECT 3
      USE IN  3
    ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
圆满完成任务。
一分耕耘一分收获。
功夫不负有心人。

素数问题的解决是我学习编程永恒的动力。
2021-10-25 22:18
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 80楼 独木星空
虽然说,基本上没有什么问题,但是第一次外循环,仍就需要选择一次表文件(偶数表新)

素数问题的解决是我学习编程永恒的动力。
2021-10-26 04:16
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1121
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE G:\三角递增法\偶数唯一表1.DBF ALIAS 偶唯一表1
SELECT 2
USE G:\三角递增法\无偶数表1.DBF ALIAS 无偶数1
kssj=SECONDS()
 For i=1 to 1190476
      @ 5,12 say i
      n=i
      s=0
      IF MOD(n,5)=1
      s=s+30
      ENDIF
      IF MOD(n,5)=2
      s=s+90
      ENDIF
      IF MOD(n,5)=3
      s=s+120
      ENDIF
      IF MOD(n,5)=4
      s=s+180
      ENDIF
      IF MOD(n,5)=0
      s=s+210
      ENDIF
     && wou=INT((n-1)/5)*210+IIF(MOD(n,5)=1,30,0)+IIF(MOD(n,5)=2,90,0)+IIF(MOD(n,5)=3,120,0)+IIF(MOD(n.5)=4,180,0)+IIF(MOD(n,5)=0,210,0)
     wou=INT((n-1)/5)*210+s
    SELECT  1
    A=偶数
         IF A=wou
         SELECT 1
         skip
         LOOP
         ELSE
         SELECT 2
         APPEND BLANK
         REPLACE 无偶 WITH wou
         ENDIF
         
   

ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是从已经形成的偶数表中,找出没有四生素数中项和解的偶数程序,在2500万内,有169692个反例(无中项和解的偶数)

素数问题的解决是我学习编程永恒的动力。
2021-10-26 10:55
快速回复:优化程序或者从新编写求四生素数中项不能合成的偶数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039157 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved