| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2057 人关注过本帖
标题:简单的筛选二生素数程序
取消只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式新\素数式19.DBF ALIAS 素数式
SELECT 2
USE D:\素数式新\最密k生素数间距19.DBF ALIAS 间距
kssj=SECONDS()
FOR h=10 TO 15
    @ 5,12 say h
    k=h+1
    SELECT  1
    GO 1
    E=1000
      For i=1 to 1658760
     
      SELECT  1     &&打开盛放素数式的表
      jl=recno()
   
      PUBLIC A
      A=ss19
      SKIP h
      PUBLIC B
      B=ss19
      cj1=B-A  &&求前后两个素数的差值
      IF E>cj1
      E=cj1
      ELSE E<=cj1
   
      E=E
         
      ENDIF
      SELECT 1
      GO jl+1
      ENDFOR
      SELECT 2
      APPEND BLANK     &&增加一条空记录
      REPLACE ksss19  WITH k &&将k值付给ksss
      REPLACE jj19  WITH E
      
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2025-05-20 08:30
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE d:\三生素数中项\三中和统计表.DBF ALIAS 三中和统计
kssj=SECONDS()
FOR i=1 TO 999999
   @ 3,6 say i
      FOR j=1  TO 3
         m=30*i+(j-1)*6-2
         SELECT  1  
         APPEND BLANK   
         REPLACE szhh WITH m
         REPLACE tj2 WITH 0
     ENDFOR
ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
给三中和置数(即把最密三中项的和(两个三中项相加得到的结果,预先放置在一个表上))

素数问题的解决是我学习编程永恒的动力。
2025-05-24 10:26
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
 USE d:\三生素数中项\正最密三生素数中项.DBF ALIAS 正三中项
 SELECT 2
 USE d:\三生素数中项\三中和统计表.DBF ALIAS 三中和统计
 kssj=SECONDS()
 SELECT 1
 GO 1 &&定位在第一个参与运算值上
 FOR i=1 TO 258
   @ 3,6 say i
   jl=recno()
   PUBLIC A
   A=三中
      SELECT 1
      GO 1
      FOR j=1  TO 8542
      PUBLIC B
      B=三中
      n=A+B
      SELECT  2
      GO   3*INT((n+2)/30-1)+MOD(n+2,30)/6+1
      REPLACE tj2 WITH tj2+1
      SELECT 1
      skip
      ENDFOR
      
      SELECT 1
      GO jl+1
 ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是把最密3生素数中项的和分配到其合成值上的vfp程序。

素数问题的解决是我学习编程永恒的动力。
2025-05-24 16:58
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
 USE d:\三生素数中项\正最密三生素数中项.DBF ALIAS 正三中项
 SELECT 2
 USE d:\三生素数中项\三中和统计表.DBF ALIAS 三中和统计
 kssj=SECONDS()
 SELECT 1
 GO 8543 &&定位在第一个参与运算值上
 FOR i=1 TO 3241
   @ 3,6 say i
   jl=recno()
   PUBLIC A
   A=三中
      SELECT 1
      GO 8543
      FOR j=1  TO 3241
      PUBLIC B
      B=三中
      n=A+B
      SELECT  2
      GO   3*INT((n+2)/30-1)+MOD(n+2,30)/6+1
      REPLACE tj2 WITH tj2+1
      SELECT 1
      skip
      ENDFOR
      
      SELECT 1
      GO jl+1
 ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
分配三生素数中项之和从1千万到1.5千万之间两项之和(指(a+b)^2=a^2+2ab+b^2中的b^2部分,无交叉项,交叉项另外计算分配)

素数问题的解决是我学习编程永恒的动力。
2025-05-25 07:26
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
 USE d:\三生素数中项\正最密三生素数中项.DBF ALIAS 正三中项
 SELECT 2
 USE d:\三生素数中项\三中和统计表.DBF ALIAS 三中和统计
 kssj=SECONDS()
 SELECT 1
 GO 1 &&定位在第一个参与运算值上,本次运行交叉部分,外循坏取前段,内循环取后段,一次产生两组
 FOR i=1 TO 8542
   @ 3,6 say i
   jl=recno()
   PUBLIC A
   A=三中
      SELECT 1
      GO 8543
      FOR j=1  TO 3241
      PUBLIC B
      B=三中
      n=A+B
      SELECT  2
      GO   3*INT((n+2)/30-1)+MOD(n+2,30)/6+1
      REPLACE tj2 WITH tj2+2
      SELECT 1
      skip
      ENDFOR
      
      SELECT 1
      GO jl+1
 ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2025-05-25 08:45
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\三生素数jg6.DBF ALIAS 三素jg6表
SELECT 2
USE D:\素数式系数\逆三生素数中项.DBF ALIAS 逆三生素数中项表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 111156
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=sss6
   
    IF MOD(A,3)=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE nsz WITH A    &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2025-05-25 13:07
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
 USE d:\三生素数中项\逆最密三生素数中项.DBF ALIAS 逆正三中项
 SELECT 2
 USE d:\三生素数中项\逆三中和统计表.DBF ALIAS 逆三中和统计
 kssj=SECONDS()
 SELECT 1
 GO 121 &&定位在第一个参与运算值上,本次运行交叉部分,外循坏取前段,内循环取后段,一次产生两组
 FOR i=1 TO 11881
   @ 3,6 say i
   jl=recno()
   PUBLIC A
   A=nsz
      SELECT 1
      GO 1
      FOR j=1  TO 12001
      PUBLIC B
      B=nsz
      n=A+B
      SELECT  2
      GO   3*INT((n+10)/30-1)+MOD(n+10,30)/6+1
      REPLACE tj2 WITH tj2+1
      SELECT 1
      skip
      ENDFOR
      
      SELECT 1
      GO jl+1
 ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2025-05-25 15:35
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\等差3生素数公差六.DBF ALIAS 等差3生六
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 5761455
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 2
    PUBLIC B
    B=素数
    SKIP 2
    PUBLIC C
    C=素数
    cj1=B-A  &&求两个素数的差值
    cj2=C-B  &&求两个素数的差值
    IF cj1=6 AND cj2=6  &&and同时满足条件
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE dcsz WITH B         &&将A+C的均值(即B)赋给dcsz(等差三中项)
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
从素数表中筛选等差3生素数公差六,素数之间都各有一个素数(1383个,一类697个,另一类686个)

素数问题的解决是我学习编程永恒的动力。
2025-05-26 22:13
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\等差3生素数公差六.DBF ALIAS 等差3生六
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 5761455
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 1
    PUBLIC B
    B=素数
    SKIP 1
    PUBLIC C
    C=素数
    cj1=B-A  &&求两个素数的差值
    cj2=C-B  &&求两个素数的差值
    IF cj1=6 AND cj2=6  &&and同时满足条件
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE dcsz WITH B         &&将A+C的均值(即B)赋给dcsz(等差三中项)
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
中间无素数

素数问题的解决是我学习编程永恒的动力。
2025-05-26 22:16
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1312
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\等差3生素数公差六.DBF ALIAS 等差3生六
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 5761455
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 2 &&素数A与B之间间隔1个素数
    PUBLIC B
    B=素数
    SKIP 1
    PUBLIC C
    C=素数
    cj1=B-A  &&求两个素数的差值
    cj2=C-B  &&求两个素数的差值
    IF cj1=6 AND cj2=6  &&and同时满足条件
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE dcsz WITH B         &&将A+C的均值(即B)赋给dcsz(等差三中项)
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2025-05-26 23:33
快速回复:简单的筛选二生素数程序
数据加载中...
 
   



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

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