| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:有关素数问题的简单vfp编程实例
只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
有关素数问题的简单vfp编程实例
SELECT 1
USE D:\等差素数\素数表亿内.dbf ALIAS 素数表
SELECT 2
USE D:\等差素数\正三中.dbf ALIAS 正三
kssj=SECONDS()  &&取出开始时间
   
    SELECT 1
    GO 1
    FOR i=1 TO 5761450
        PUBLIC A
        A=素数
        jlh=recno() &&记录指针位置
        SKIP
        PUBLIC B
        B=素数
        SKIP
        PUBLIC C
        C=素数
           IF B-A=2 AND C-A=6 &&and是并且
           SELECT 2
           APPEND BLANK     &&增加一条空记录
           REPLACE 三中 WITH A+3
           ENDIF  
        SELECT 1
        GO jlh+1 &&定位到下一个起始位置
    ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是从现成的素数表中(安顺序放着1亿内的素数,共计5761455个),运行了0分9.32秒获得55600个最密三生素数(0,2,6)的中项。
搜索更多相关主题的帖子: SELECT 时间 编程 运行 素数 
2023-09-09 21:41
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
欢迎大家讨论,也可以直接写程序获得1亿内的最密三生素数(0,2,6)的中项,即假设第一位是素数P,则(P+2)及(P+6)也是素数时,这一组素数就是最密三生素数,其中项=P+3.

素数问题的解决是我学习编程永恒的动力。
2023-09-09 21:47
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE d:\三生素数中项\正最密三生素数中项.DBF ALIAS 三中表
SELECT 2
USE d:\三生素数中项\各段三中个数.DBF ALIAS 三中个数周期表
kssj=SECONDS()
SELECT 1
     For j=1 to 238
      @ 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,"运行时间提示")
为了处理大数量合成问题,把整个数据安21万划分区块,化整为零,减少单次运算量。
这是一个系列问题,找到三生素数中项才是问题的开始。

素数问题的解决是我学习编程永恒的动力。
2023-09-09 22:26
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
看来素数问题,让人望而止步。

素数问题的解决是我学习编程永恒的动力。
2023-09-11 10:47
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
解决问题的过程也是编程算法的产生过程,它们之间互相印证。

素数问题的解决是我学习编程永恒的动力。
2023-09-12 16:32
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=7.500000000000000000
SELECT 1
  GO 4
  A=素数
  s=s*A*(A-6)/(A-3)^2
        SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-6)/(B-3)^2
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2023-09-13 23:56
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
上楼是计算正最密3生素数的中项减法中的合成系数(公共系数,即最小合成系数),也是这个问题的一个环节。
运行结果:2.117440757851877000
❶(只不过,标识不是1而是i)运行时间:2分31.66秒

素数问题的解决是我学习编程永恒的动力。
2023-09-14 00:03
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
这分是赠不出了,太冷门了。
没办法,你想的问题别人不想,也不好强求。

素数问题的解决是我学习编程永恒的动力。
2023-09-15 18:08
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1571
专家分:3044
注 册:2012-2-29
收藏
得分:20 
这个主要是研究算法,值得我学习哈!无需给分。
2023-09-15 18:17
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:823
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE H:\三生素数中项合成\素数表十亿.DBF ALIAS 素表
SELECT 2
USE H:\三生素数中项合成\逆三生素数表.DBF ALIAS 三素表
kssj=SECONDS()
 For i=1 to 50876324
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 1
    PUBLIC B
    B=素数
    cj=B-A
    SKIP 1
    PUBLIC C
    C=素数
    cj1=C-B
    IF cj=4 AND cj1=2
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 逆三中 WITH A+3          &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
是在10亿素数表筛选逆最密三生素数(0,4,6)的中项程序(中项---Mid Term)

素数问题的解决是我学习编程永恒的动力。
2023-09-15 21:27
快速回复:有关素数问题的简单vfp编程实例
数据加载中...
 
   



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

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