| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9833 人关注过本帖
标题:优化程序或者从新编写求四生素数中项不能合成的偶数
只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE G:\三角递增法\相同记录数表总15.DBF ALIAS 相同记录表15
SELECT 2
USE G:\三角递增法\无偶最终结果表新总15.DBF ALIAS 无偶结果表新15
kssj=SECONDS()
 SELECT  1
 GO 1
 For i=1 to 544715
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    && jl=recno()
    PUBLIC A
    A=相同记录数
    B=无偶
    IF A=2
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 无偶 WITH B     &&将N值付给素数式
    ENDIF
   
   SELECT 1
   skip
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2021-11-18 22:55
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE G:\三角递增法\无偶最终结果表新总15.DBF ALIAS 无偶总新15
SELECT 2
USE G:\三角递增法\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=4999 to 5355
      @ 3,6 say j
      fw=j*1000000
            SELECT 1
            GO 1
            COUNT ALL FOR 无偶<=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-18 22:55
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
无偶
5172699390
在第15次外循环中,只有这一例反例(无解偶数)

素数问题的解决是我学习编程永恒的动力。
2021-11-18 22:57
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
总区段    统计15
239    0
240    0
241    0
242    0
243    0
244    0
245    0
246    0
247    1
248    0
249    0
250    0
251    0
252    0
253    0
254    0
255    0
前8个总区间段,后8个总区间段,都没有“反例”,中间的区间段有一个

素数问题的解决是我学习编程永恒的动力。
2021-11-18 22:59
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 167楼 laowan001
SELECT 477
USE G:\三角递增法\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
wozzxz="无偶最终结果表新总"
 For l=17 to 18
      @ 15,12 say l
      wozb=wozzxz+ALLTRIM(STR(l))
      USE IN 477
      USE G:\三角递增法\无偶数表总表.DBF ALIAS 无偶数总表
       SELECT 477
     
       DELETE ALL
       PACK
      
      
bwjm="偶数周期表"
For j=(l-1)*17 to 17*l
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE G:\三角递增法\&wd in 0
      For i=(j-1)*500000+1 to (j+1)*500000

      @ 10,22 say i
      n=i
      s=0
    do case
    case MOD(n,5)=1
        s=s+30
    case MOD(n,5)=2
        s=s+90
    case MOD(n,5)=3
        s=s+120
    case MOD(n,5)=4
        s=s+180
    case MOD(n,5)=0
        s=s+210
    endcase
     
      wou=INT((n-1)/5)*210+s
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
       A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         insert into 无偶数总表 (无偶) values (wou)    && 上面三名改成这一句
         ENDIF
   
     ENDFOR
     use in "偶数周期表"+ALLTRIM(STR(k))        && 用完就关闭,否则可能会崩溃
ENDFOR
SELECT * FROM 无偶数总表 WHERE 无偶 IN ( SELECT 无偶 FROM 无偶数总表 GROUP BY 无偶 HAVING count(*) > 1) order by 无偶 INTO table G:\三角递增法\&wozb
 use IN &wozb
 SELECT 477
 USE IN  477
 ENDFOR
 
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
第二步,第三步,第四步合并(除了第一步制作偶数周期表外,和最后一步的统计工作外,整个程序连为一体)

素数问题的解决是我学习编程永恒的动力。
2021-11-19 16:17
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 477
USE d:\等差四生素数7\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
wozzxz="无偶最终结果表新总"
 For l=2 to 3
      @ 15,12 say l
      wozb=wozzxz+ALLTRIM(STR(l))
      USE IN 477
      USE d:\等差四生素数7\无偶数表总表.DBF ALIAS 无偶数总表
       SELECT 477
     
       DELETE ALL
       PACK
      
      
bwjm="偶数周期表"
For j=(l-1)*9 to 9*l
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE d:\等差四生素数7\&wd in 0
      For i=(j-1)*1050000+1 to (j+1)*1050000

      @ 10,22 say i
   && n=i
   && s=0
   && do case
   && case MOD(n,5)=1
   &&     s=s+30
   && case MOD(n,5)=2
   &&     s=s+90
   && case MOD(n,5)=3
   &&    s=s+120
   && case MOD(n,5)=4
   &&    s=s+180
   && case MOD(n,5)=0
   &&    s=s+210
   && endcase
     
   &&  wou=INT((n-1)/5)*210+s
      wou=2*i
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
         A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         insert into 无偶数总表 (无偶) values (wou)    && 上面三名改成这一句
         ENDIF
   
     ENDFOR
     use in "偶数周期表"+ALLTRIM(STR(k))        && 用完就关闭,否则可能会崩溃
ENDFOR
SELECT * FROM 无偶数总表 WHERE 无偶 IN ( SELECT 无偶 FROM 无偶数总表 GROUP BY 无偶 HAVING count(*) > 1) order by 无偶 INTO table d:\等差四生素数7\&wozb
 use IN &wozb
 SELECT 477
 USE IN  477
 ENDFOR
 
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是处理一个类似问题:等差四生素数(P,P+210,P+420,P+630)的中项和合成分布。

素数问题的解决是我学习编程永恒的动力。
2021-11-19 19:42
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 176楼 独木星空
根据不同的条件,无偶的赋值也是不同的。

素数问题的解决是我学习编程永恒的动力。
2021-11-20 17:01
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 477
USE d:\等差四生素数7\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
wozzxz="无偶最终结果表新总"
For l=2 to 2
      @ 15,12 say l
      wozb=wozzxz+ALLTRIM(STR(l))
      USE IN 477
      USE d:\等差四生素数7\无偶数表总表.DBF ALIAS 无偶数总表
       SELECT 477
     
       DELETE ALL
       PACK
      
      
bwjm="偶数周期表"
For j=(l-1)*9 to 9*l
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE d:\等差四生素数7\&wd in 0
      For i=(j-1)*1050000+1 to (j+1)*1050000

      @ 10,22 say i
   && n=i
   && s=0
   && do case
   && case MOD(n,5)=1
   &&     s=s+30
   && case MOD(n,5)=2
   &&     s=s+90
   && case MOD(n,5)=3
   &&    s=s+120
   && case MOD(n,5)=4
   &&    s=s+180
   && case MOD(n,5)=0
   &&    s=s+210
   && endcase
     
   &&  wou=INT((n-1)/5)*210+s
      wou=2*i
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
         A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         insert into 无偶数总表 (无偶) values (wou)    && 上面三名改成这一句
         ENDIF
   
     ENDFOR
     use in "偶数周期表"+ALLTRIM(STR(k))        && 用完就关闭,否则可能会崩溃
ENDFOR
SELECT * FROM 无偶数总表 WHERE 无偶 IN ( SELECT 无偶 FROM 无偶数总表 GROUP BY 无偶 HAVING count(*) > 1) order by 无偶 INTO table d:\等差四生素数7\&wozb
use IN &wozb
SELECT 477
USE IN  477
ENDFOR

    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是处理等差四生素数d210的程序步骤

素数问题的解决是我学习编程永恒的动力。
2021-11-21 10:53
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE d:\等差四生素数7\无偶最终结果表新总2.DBF ALIAS 无偶终表2
SELECT 2
USE d:\等差四生素数7\无偶最终结果表新总2单.DBF ALIAS 无偶结果表新2单
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 274
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    && jl=recno()
    PUBLIC A
    A=无偶
   
    IF MOD(i,2)=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 无偶 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-21 10:54
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:819
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE d:\等差四生素数7\无偶最终结果表新总2单.DBF ALIAS 无偶总新2单
SELECT 2
USE d:\等差四生素数7\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=91 to 180
      @ 3,6 say j
      fw=j*210000
            SELECT 1
            GO 1
            COUNT ALL FOR 无偶<=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-21 10:56
快速回复:优化程序或者从新编写求四生素数中项不能合成的偶数
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021654 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved