| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 572 人关注过本帖
标题:简单的筛选二生素数程序
只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:19 
简单的筛选二生素数程序
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\二生素数jg20.DBF ALIAS 二生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 1
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=20
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE ers20 WITH A+10   &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
4 天前 08:13
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:735
专家分:2958
注 册:2018-3-13
收藏
得分:20 
百度了一下,大概就是孪生数吧,如果是找两两相差定值的孪生数,一条语句就足够了

*-- 创建100以内的素数表
Create cursor pr(rowid I, val I)
pr = '2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97'
For ii = 1 to ALines(ap, pr, 1+4, ',')
    Insert into pr values (ii, Val(ap[ii]))
EndFor

*-- 找出相差 n 的素数对
n = 2
Select a.val, b.val from pr a ;
    inner join pr b on a.rowid = b.rowid - 1 ;
    where a.val + n == b.val


这家伙很懒,啥也没留下
4 天前 09:58
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\三生素数jg20.DBF ALIAS 三生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 2
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=20
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE sss20 WITH A+10     &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
照猫画虎,简单修改

素数问题的解决是我学习编程永恒的动力。
4 天前 11:40
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 2楼 csyx
一个字,牛,简明扼要。

素数问题的解决是我学习编程永恒的动力。
4 天前 11:42
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\四生素数jg20.DBF ALIAS 四生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 3
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=20
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE ssss20 WITH A+10  &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
简单 复制品

素数问题的解决是我学习编程永恒的动力。
4 天前 14:24
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\五生素数jg20.DBF ALIAS 五生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 4
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=20
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE wss20 WITH A+10  &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
仍就是简单的复制品  

素数问题的解决是我学习编程永恒的动力。
4 天前 17:04
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
当然它们各自完成的任务不同

素数问题的解决是我学习编程永恒的动力。
4 天前 17:05
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\六生素数jg20.DBF ALIAS 六生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 5
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=20
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE lss20 WITH A+10  &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
4 天前 23:13
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\二生素数jg22.DBF ALIAS 二生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 1
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=22
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE ers22 WITH A+11   &&将N值付给素数式
    ENDIF
      SELECT 1
      GO jl+1
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
3 天前 12:23
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:1074
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE D:\素数式系数\素数表十亿.DBF ALIAS 素数表
SELECT 2
USE D:\素数式系数\四生素数jg22.DBF ALIAS 四生素数表
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 50847534
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    jl=recno()
    PUBLIC A
    A=素数
    SKIP 3
    PUBLIC B
    B=素数
    cj1=B-A  &&求前后两个素数的差值
    IF cj1=22
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE ssss22 WITH A+11  &&将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亿内的二生素数数据(从2-30的间距)

素数问题的解决是我学习编程永恒的动力。
3 天前 18:20
快速回复:简单的筛选二生素数程序
数据加载中...
 
   



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

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