注册 登录
编程论坛 VFP论坛

优化程序或者从新编写求四生素数中项不能合成的偶数

独木星空 发布于 2021-10-17 19:31, 13652 次点击
* 以大定小选配素数对
LOCAL xjl,djl,ts,xss,dss,kssj,tj
CLEAR
SELECT 1
USE D:\vfp温习\L8四生素数尾素不能合成数.DBF ALIAS 素数对    &&素数对表结构:偶数、统计
SELECT 2
USE D:\vfp温习\L8四生素数真表.DBF  ALIAS 素数表
kssj=SECONDS()
FOR i=23000001  to 24000000
@ 3,6 say i
    n=i
       X=8+(INT((n-INT((n-1)/5)*5)/2)+(n-INT((n-1)/5)*5))*30+INT((n-1)/5)*210 &&这是在给被判偶数置数,思路每5个偶数构成一个循环期,步长210。
          Y=X/2   &&求出偶数的中值(上一条置数语句,除了外步长210,还有内步长30,但是有2个间断点,所以有些复杂。
        SELECT 素数表
        LOCATE FOR 四素>X
        DO CASE
                CASE EOF()
                        GO Bottom
                CASE 四素>X
                        SKIP -1
        ENDCASE
        xjl=1
        djl=RECNO()
        t=.T.
        DO WHILE t
                dss=四素
                GO xjl
                xss=四素
                                              &&放在这里比较合适,这里原来显示小素数的值,去掉了。
                IF xss<Y+1 OR dss>Y-1                              &&判断跳出语句如果放在后面,有时出现一个重复素数对
                          t=.T.
                          ELSE
                          t=.F.                                       &&跳出命令
                ENDIF                                               &&结束判断
                DO CASE
                        CASE xss+dss>X
                                GO djl
                                SKIP -1
                                djl=RECNO()
                        CASE xss+dss=X
                                EXIT
                        CASE xss+dss<X
                                GO xjl
                                SKIP
                                xjl=RECNO()
                                GO djl
                ENDCASE
        ENDDO
        IF xss>Y OR dss<Y
        SELECT 素数对
                                APPEND BLANK
                                REPLACE 偶数 WITH X
        ENDIF
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是我编写的程序,下一贴把四生素数表(最末的一项代表值,即一组四生素数用最末的一个素数代替),发上来,还有存储表:不能被合成的偶数。
267 回复
#202
独木星空2021-11-28 22:57
区段    范围    统计    各段个数
1    210000    6300    6300
2    420000    8386    2086
3    630000    9464    1078
4    840000    10091    627
5    1050000    10497    406
6    1260000    10816    319
7    1470000    11008    192
8    1680000    11162    154
9    1890000    11276    114
10    2100000    11384    108
11    2310000    11466    82
12    2520000    11551    85
13    2730000    11611    60
14    2940000    11662    51
15    3150000    11701    39
16    3360000    11744    43
17    3570000    11772    28
18    3780000    11794    22
19    3990000    11813    19
20    4200000    11836    23
21    4410000    11850    14
22    4620000    11859    9
23    4830000    11873    14
24    5040000    11887    14
25    5250000    11895    8
26    5460000    11901    6
27    5670000    11908    7
28    5880000    11916    8
29    6090000    11920    4
30    6300000    11925    5
31    6510000    11930    5
32    6720000    11933    3
33    6930000    11936    3
34    7140000    11937    1
35    7350000    11940    3
36    7560000    11942    2
37    7770000    11944    2
38    7980000    11946    2
39    8190000    11946    0
40    8400000    11947    1
41    8610000    11949    2
42    8820000    11949    0
43    9030000    11949    0
44    9240000    11951    2
45    9450000    11951    0
46    9660000    11953    2
47    9870000    11954    1
48    10080000    11954    0
49    10290000    11955    1
50    10500000    11955    0
51    10710000    11956    1
52    10920000    11956    0
53    11130000    11956    0
54    11340000    11957    1
上楼程序最终结果。
#203
独木星空2021-11-29 08:21
SELECT 1
USE d:\最密三生素数\数据源表d6.DBF ALIAS 数据源表
kssj=SECONDS()
  For i=(1-1)*63000+1 to (1+1)*63000

      @ 10,22 say i
   n=i
  s=0
  do case
  case MOD(n,9)=1
     s=s+4
  case MOD(n,9)=2
      s=s+6
   case MOD(n,9)=3
      s=s+10
     case MOD(n,9)=4
     s=s+14
  case MOD(n,9)=5
      s=s+16
   case MOD(n,9)=6
      s=s+20
     case MOD(n,9)=7
     s=s+24
  case MOD(n,9)=8
      s=s+26
   case MOD(n,9)=0
      s=s+30
   endcase
     
    wou=INT((n-1)/9)*30+s
   
         SELECT 1
         APPEND BLANK     &&增加一条空记录
         REPLACE 偶元 WITH wou      
      
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
对等差三生素数d30中项和处理第一步
#204
独木星空2021-11-29 08:22
SELECT 1
USE d:\最密三生素数\等差三生素数d30.DBF ALIAS 三中表
SELECT 2
USE d:\最密三生素数\各段三生素数个数d30.DBF ALIAS 三生个数表d30
SELECT 3
USE d:\最密三生素数\偶数表新.DBF ALIAS 偶数表新
SELECT 4
USE d:\最密三生素数\数据源表d30.dbf ALIAS 数据源A
SELECT 5
USE d:\最密三生素数\数据表a.dbf ALIAS 数据A
kssj=SECONDS()
bwjm="偶数周期表d卅"
bwjmzj="偶数周期表子集d卅"
 For i=2 TO 101
      @ 5,12 say i
      wd=bwjm+ALLTRIM(STR(i-1))
      && USE IN 3
      && USE d:\等差四生素数\偶数表新.DBF ALIAS 偶数表新
       SELECT 3
     
       DELETE ALL
       PACK
       wdz=bwjmzj+ALLTRIM(STR(i-1)) &&子集表
      
       SELECT 5
       DELETE ALL
       PACK
       INSERT INTO 数据A (数据1) SELECT 偶元+(i-2)*210000 FROM 数据源A
       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=d30中
               jl1=recno()
                 SELECT  1
                 GO zgs2-fgs2+1
                 For k2=1 to fgs2
                 jl2=recno()
                 B=d30中
                 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 d:\最密三生素数\&wd
       sele * from 数据A where 数据1 not in(sele 偶数 from &wd ) into table d:\最密三生素数\&wdz
       USE IN &wdz
      USE IN &wd
      
    ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
上边问题第二步处理,这步是整个问题的核心,运行时间也最长。
#205
独木星空2021-12-03 12:12
CLOSE DATA
USE d:\连续整数方程\三生素数三元运算结果表逆.dbf
sele 合成数,sum(方法数) as 方法数 from 三生素数三元运算结果表逆 group by 合成数  into dbf d:\连续整数方程\三生三元运算统计表逆
USE IN 三生三元运算统计表逆
已某一字段作为划分类标准(相同id吧),对另一个字段求和。
#206
独木星空2022-03-25 09:44
回复 199楼 独木星空
今天用到此楼的数据。
#207
独木星空2022-03-25 10:38
SELECT 1
USE d:\素数表文件\最密六生素数.DBF ALIAS 六素表
SELECT 2
USE d:\素数表文件\素数表亿新.DBF ALIAS 素数表
SELECT 3
USE d:\素数表文件\偶数表.DBF ALIAS 偶数表

SELECT 4
USE d:\素数表文件\六素分段统计.DBF ALIAS 六素统计
SELECT 5
USE d:\素数表文件\素数分段统计.DBF ALIAS 素数统计
kssj=SECONDS()
bwjm="一素加六中千万"

For i=10 TO 10
        @ 5,12 say i
        wd=bwjm+ALLTRIM(STR(i))
            SELECT 3
            DELETE ALL
            PACK   
             FOR j=1 TO i/2
        @ 15,22 say j
        SELECT  4   
        GO j
        zgs1=总个数
        fgs1=分个数
        SELECT  5
        GO 10-j+1
        zgs2=总个数
        fgs2=分个数
              
            SELECT 1
             GO zgs1-fgs1+1
                 FOR k1=1  TO  fgs1
                 
                 A=六素
                jl1=recno()
                   SELECT  2
                   GO  zgs2-fgs2+1
                   For k2=1 TO fgs2
                   jl2=recno()
                   B=素数
                  C=A+B
                   SELECT 3
                   APPEND BLANK   
                   REPLACE 偶数 WITH C   
                   SELECT 2
                   GO jl2+1
                   ENDFOR
                 SELECT 1
                 GO jl1+1
               ENDFOR   
         ENDFOR   
         SELECT 3
         USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
        USE d:\素数表文件\偶数表.dbf && 设源表的名称为"表1"
        P=''
        FOR K=1 TO FCOUNT()
        P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

        SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF d:\素数表文件\&wd
         
        USE IN &wd
        
      ENDFOR
      =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是一素+最密6生素数的中项在1亿1千万区间段的合成程序。
#208
独木星空2022-03-26 10:29
SELECT 1
 USE d:\素数表文件\最密六生素数.DBF ALIAS 六素表
 SELECT 2
 USE d:\素数表文件\素数表亿新.DBF ALIAS 素数表
SELECT 3
 USE d:\素数表文件\偶数表.DBF ALIAS 偶数表
 
SELECT 4
 USE d:\素数表文件\六素分段统计.DBF ALIAS 六素统计
 SELECT 5
 USE d:\素数表文件\素数分段统计.DBF ALIAS 素数统计
kssj=SECONDS()
 bwjm="一素加六中亿分段"

 For i=1 TO 10
        @ 5,12 say i
        wd=bwjm+ALLTRIM(STR(i))
            SELECT 3
            DELETE ALL
            PACK   
             FOR j=1 TO i
        @ 15,22 say j
        SELECT  4   
        GO j
        zgs1=总个数
        fgs1=分个数
        SELECT  5
        GO i-j+1
        zgs2=总个数
        fgs2=分个数
              
            SELECT 1
             GO zgs1-fgs1+1
                 FOR k1=1  TO  fgs1
                 
                 A=六素
                jl1=recno()
                   SELECT  2
                   GO  zgs2-fgs2+1
                   For k2=1 TO fgs2
                   jl2=recno()
                   B=素数
                  C=A+B
                   SELECT 3
                   APPEND BLANK   
                   REPLACE 偶数 WITH C   
                   SELECT 2
                   GO jl2+1
                   ENDFOR
                 SELECT 1
                 GO jl1+1
               ENDFOR   
         ENDFOR   
         SELECT 3
         USE IN 3&&打开,或关闭,那个工作区(或者,写别名)
      
        USE d:\素数表文件\偶数表.dbf && 设源表的名称为"表1"
        P=''
        FOR K=1 TO FCOUNT()
        P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
      ENDFOR

        SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF d:\素数表文件\&wd
         
        USE IN &wd
        
      ENDFOR
      =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是把1亿分成了10个段落。
#209
独木星空2022-03-26 10:54
SELECT 1
 USE d:\素数表文件\合成数生成元.DBF ALIAS 生成元表
SELECT 2
 USE d:\素数表文件\合成数参照.DBF ALIAS 参照表
kssj=SECONDS()
 For i=1 to 47500
       @ 5,12 say i
     FOR j=1 TO 48
     SELECT 1
     GO j
     s=偶数
     cs=s+(i-1)*210
          SELECT 2
          APPEND BLANK     &&增加一条空记录
         REPLACE 偶数 WITH cs  &&将N值付给素数式
   endfor
      
 ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
#210
独木星空2022-03-26 20:01
SELECT 11
USE d:\素数表文件\无偶数表.DBF ALIAS 无偶表
SELECT 12
USE d:\素数表文件\合成数参照.DBF ALIAS 参照表

SELECT 1
USE d:\素数表文件\一素加六中亿分段1.DBF ALIAS 分段1
SELECT 2
USE d:\素数表文件\一素加六中亿分段2.DBF ALIAS 分段2
SELECT 3
USE d:\素数表文件\一素加六中亿分段3.DBF ALIAS 分段3
SELECT 4
USE d:\素数表文件\一素加六中亿分段4.DBF ALIAS 分段4
SELECT 5
USE d:\素数表文件\一素加六中亿分段5.DBF ALIAS 分段5

SELECT 6
USE d:\素数表文件\一素加六中亿分段6.DBF ALIAS 分段6
SELECT 7
USE d:\素数表文件\一素加六中亿分段7.DBF ALIAS 分段7
SELECT 8
USE d:\素数表文件\一素加六中亿分段8.DBF ALIAS 分段8
SELECT 9
USE d:\素数表文件\一素加六中亿分段9.DBF ALIAS 分段9
SELECT 10
USE d:\素数表文件\一素加六中亿分段10.DBF ALIAS 分段10
kssj=SECONDS()
bwjm="分段"
For j=4 to 10
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
&& CLOSE DATABASES
&& SET COMPATIBLE ON
&& OPEN DATABASE (HOME(2) + 'data\testdata')

&& SELECT 1  && 未使用的工作区
&& USE  G:\三角递增法\&WD ALIAS n && 打开 Customer 表
      For i=1 to 2
        FOR m=1 TO 2280000
        SELECT 12
        GO m
        ou=偶数
        wou=(j-1)*9975000+(i-1)*9975000+ou
    &&  @ 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+s
      SELECT "分段"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
       A=偶数
         IF A=wou
         SELECT "分段"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         SELECT 11
         APPEND BLANK
         REPLACE 无偶 WITH wou
         ENDIF
         ENDFOR
   
     ENDFOR
ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
今天,经过改编,用于一素加六中的寻找工作
#211
独木星空2022-03-27 09:38
SELECT 1
 USE d:\素数表文件\不能合成数头周.DBF ALIAS 不能合成数
SELECT 2
 USE d:\素数表文件\不能合成数统计.DBF ALIAS 不能合成数统计表
kssj=SECONDS()
 
 For i=1 to 500
       @ 5,12 say i
       n=i*1000020
     SELECT 1
     COUNT ALL FOR 无偶<n TO tj
          SELECT 2
          APPEND BLANK     &&增加一条空记录
         REPLACE 范围 WITH n
         REPLACE 总个数 WITH tj
ENDFOR
     =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
最后一步处理,不能合成数统计。
#212
独木星空2022-03-29 09:57
SELECT 1
USE D:\表示算法\标准域.dbf ALIAS 标准域
SELECT 2
USE D:\表示算法\余数表.dbf ALIAS 余数表
 kssj=SECONDS()                      &&取出开始时间
      SELECT 1
       go 1
    && ys=0
       s1=0
   for i=1  to  8
       s1=s1+1
       SELECT 1
       go s1
       hzs1=互质数
          && jlh1=recn()
          && ys=mod(ys+hzs1,30)
       SELECT 1
        go 1
        s2=0
         for j=1  to  8
           s2=s2+1
             SELECT 1
             go s2
             hzs2=互质数
             && jlh2=recn()
              && ys=mod(ys+hzs2,30)
             SELECT 1
              go 1
               s3=0
               for l=1  to  8
               s3=s3+1
                 SELECT 1
                  go s3
                  hzs3=互质数
                  && jlh3=recn()
                  && ys=mod(ys+hzs3,30)
                    SELECT 1
                    go 1
                    s4=0
                  for m=1 to 8
                  s4=s4+1
                  SELECT 1
                  go s4
                   hzs4=互质数
                     && jlh4=recn()
                      SELECT 1
                    go 1
                    s5=0
                  for g=1 to 8
                  s5=s5+1
                  SELECT 1
                  go s5
                   hzs5=互质数
                   ys=mod(hzs1+hzs2+hzs3+hzs4+hzs5,30)
                    SELECT 2
                    APPEND BLANK
                    REPLACE 余数 WITH ys &&改成本次追加记录的字段              
                    endfor
                    endfor
                 endfor
            endfor
     endfor
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
#213
独木星空2022-03-30 09:37
SELECT 1
USE D:\逐步升级\素数式至19.dbf ALIAS 素式19  &&比制作表的素数值小(即下表)        原表在条件为真时
SELECT 2
USE D:\逐步升级\标记同跨度k生数.dbf ALIAS 同跨度k生数 &&比上边已筛除的素数值要大  在条件为假时参考表
SELECT 3
USE D:\逐步升级\临时素数式.dbf ALIAS 临素式  &&即将筛除素数余数的盛放表,与上表(参考表)素数值相同   在条件为真时制造表,即新表
SELECT 4
USE D:\逐步升级\素数式至23段落.dbf ALIAS 素式段落 &&比上边已筛除的素数值要大  在条件为真时参考表
kssj=SECONDS()   &&取出开始时间
SELECT 2
go 1
for wxhcs=1 to 2498 &&最外一层嵌套,根据表中记录条调节循环次数,wxhcs=外循环次数
  @ 15,20 say wxhcs  &&显示外循环次数
   SELECT 2
   jlt=记录条  &&给变量jlt赋值
   kd=跨度  &&给变量kd赋值
   qsh=起始号  &&给变量qsh赋值
         if  jlt>83
              for i=1  to  23
                  SELECT 1
                  go  qsh  &&起始号,把指针移动到开始位置
                      for  j=1  to   jlt
                       s19=素19
                       pdz=s19+(i-1)*9699690  &&pdz(判断值),等于素19+9699690的周期倍数
                       ys=mod(pdz,23)  &&ys(余数)等于判断值对素数23取模
                          if  ys=0
                          else
                           SELECT 3
                           APPEND BLANK
                           REPLACE 素式 WITH pdz
                           endif
                        SELECT 1
                        skip
                        endfor
                        SELECT 3
                        jlts=reccount()
                        go 1
                        ssq=素式 &&素式首
                        go  bottom
                        ssm=素式 &&素式末
                        if ssm-ssq=450 and jlts>82
                          SELECT 3
                          go 1
                          for k=1  to  jlts
                          ss=素式
                          SELECT 4
                           APPEND BLANK
                           REPLACE 素23 WITH ss
                           SELECT 3
                           skip
                           endfor
                         endif
                         select 3
                         DELETE ALL
                         PACK
              endfor
         endif
     SELECT 2
     skip
 endfor  &&    最外一层嵌套
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

#214
独木星空2022-04-17 07:10
SELECT 1
USE  D:\方程p减2的n次方\素数表万.DBF ALIAS 素数表万
SELECT 2
USE D:\方程p减2的n次方\一加m表.DBF ALIAS 一加m表
kssj=SECONDS()                      &&取出开始时间
FOR i=70 TO 100 STEP 2
@12,10 SAY i
IF MOD(i,3)=0
s=3
ELSE
s=1
ENDIF
IF MOD(i,5)=0
w=5
ELSE
w=1
ENDIF
IF MOD(i,7)=0
q=7
ELSE
q=1
ENDIF
IF MOD(i,11)=0
yy=11
ELSE
yy=1
ENDIF
IF MOD(i,13)=0
ys=13
ELSE
ys=1
ENDIF
IF MOD(i,17)=0
yq=17
ELSE
yq=1
ENDIF
IF MOD(i,19)=0
yj=19
ELSE
yj=1
ENDIF
IF MOD(i,23)=0
es=23
ELSE
es=1
ENDIF
IF MOD(i,29)=0
ej=29
ELSE
ej=1
ENDIF
IF MOD(i,31)=0
sy=31
ELSE
sy=1
ENDIF
IF MOD(i,37)=0
sq=37
ELSE
sq=1
ENDIF
IF MOD(i,41)=0
ssy=41
ELSE
ssy=1
ENDIF
IF MOD(i,43)=0
sss=43  && ss下边素数用着,出现了错误
ELSE
sss=1
ENDIF
IF MOD(i,47)=0
ssq=47
ELSE
ssq=1
ENDIF
FOR j=9 TO 13999 STEP 2
@22,20 SAY j
   IF MOD(j,i)=0
   LOOP
   ENDIF
  IF MOD(j,s)=0 AND s>1
  LOOP
 ENDIF
 IF MOD(j,w)=0 AND w>1
  LOOP
 ENDIF
  IF MOD(j,q)=0 AND q>1
  LOOP
 ENDIF
  IF MOD(j,yy)=0 AND yy>1
  LOOP
 ENDIF
 IF MOD(j,ys)=0 AND ys>1
  LOOP
 ENDIF
  IF MOD(j,yq)=0 AND yq>1
  LOOP
 ENDIF
  IF MOD(j,yj)=0 AND yj>1
  LOOP
 ENDIF
 IF MOD(j,es)=0 AND es>1
  LOOP
 ENDIF
 IF MOD(j,ej)=0 AND ej>1
  LOOP
 ENDIF
 IF MOD(j,sy)=0 AND sy>1
  LOOP
 ENDIF
 IF MOD(j,sq)=0 AND sq>1
  LOOP
 ENDIF
 IF MOD(j,ssy)=0 AND ssy>1
  LOOP
 ENDIF
 IF MOD(j,sss)=0 AND sss>1 && ss下边素数用着,出现了错误
  LOOP
 ENDIF
  IF MOD(j,ssq)=0 AND ssq>1
  LOOP
 ENDIF
SELECT 1
 GO 1
  COUNT ALL FOR 素数<=j/i TO tj
  SELECT 1
  GO 1
        FOR k=1 TO tj
        SELECT 1
        ss=素数
        jl=recno()
        pdz=j-i*ss
           SELECT 1
           GO 1
           COUNT NEXT i*tj+10 FOR 素数=pdz TO tj1  
           IF tj1=1
           EXIT
           ENDIF
         SELECT 1
        GO jl+1
        ENDFOR
   IF k>tj
   SELECT 2  
   APPEND BLANK            
   REPLACE m值 WITH i
   REPLACE n值 WITH j
   ENDIF
  ENDFOR
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是寻找Pi+mPj=N中的反例程序,m为正整数,Pi,Pj都是素数。找出小范围内的反例,当N大于一定值后,反例就不在出现了。
#215
独木星空2022-04-25 23:30
这几天挺郁闷的,手机和电脑都无法进入本网站,只有把网络关掉,用数据网络才能打开本网站,不知是何缘故?
#216
独木星空2022-05-03 22:37
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,"运行时间提示")
最近,由于时间过于紧张,没有时间编写vfp程序,把以前使用过的,发了上来,其实,自己想编写一个单位矩阵与周期矩阵耦合运算的程序,这里的运算规则不同于现在已有的规则,它是另一种算法规则。
#217
独木星空2022-05-11 07:21
对于编程而言,最重要的在于编程思路,也就是流程图。不同思路,编辑出来的结果,特别是运行速度,及耗用的时间,差别还是相当大的。所以,需要在思路上多下功夫。
#218
独木星空2022-05-24 10:04
SELECT 1
USE  D:\方程p减2的n次方\素数表万.DBF ALIAS 素数表万
SELECT 2
USE D:\方程p减2的n次方\一加m表.DBF ALIAS 一加m表
kssj=SECONDS()                      &&取出开始时间
FOR i=70 TO 100 STEP 2
@12,10 SAY i
IF MOD(i,3)=0
s=3
ELSE
s=1
ENDIF
IF MOD(i,5)=0
w=5
ELSE
w=1
ENDIF
IF MOD(i,7)=0
q=7
ELSE
q=1
ENDIF
IF MOD(i,11)=0
yy=11
ELSE
yy=1
ENDIF
IF MOD(i,13)=0
ys=13
ELSE
ys=1
ENDIF
IF MOD(i,17)=0
yq=17
ELSE
yq=1
ENDIF
IF MOD(i,19)=0
yj=19
ELSE
yj=1
ENDIF
IF MOD(i,23)=0
es=23
ELSE
es=1
ENDIF
IF MOD(i,29)=0
ej=29
ELSE
ej=1
ENDIF
IF MOD(i,31)=0
sy=31
ELSE
sy=1
ENDIF
IF MOD(i,37)=0
sq=37
ELSE
sq=1
ENDIF
IF MOD(i,41)=0
ssy=41
ELSE
ssy=1
ENDIF
IF MOD(i,43)=0
sss=43  && ss下边素数用着,出现了错误
ELSE
sss=1
ENDIF
IF MOD(i,47)=0
ssq=47
ELSE
ssq=1
ENDIF
FOR j=9 TO 13999 STEP 2
@22,20 SAY j
   IF MOD(j,i)=0
   LOOP
   ENDIF
  IF MOD(j,s)=0 AND s>1
  LOOP
ENDIF
IF MOD(j,w)=0 AND w>1
  LOOP
ENDIF
  IF MOD(j,q)=0 AND q>1
  LOOP
ENDIF
  IF MOD(j,yy)=0 AND yy>1
  LOOP
ENDIF
IF MOD(j,ys)=0 AND ys>1
  LOOP
ENDIF
  IF MOD(j,yq)=0 AND yq>1
  LOOP
ENDIF
  IF MOD(j,yj)=0 AND yj>1
  LOOP
ENDIF
IF MOD(j,es)=0 AND es>1
  LOOP
ENDIF
IF MOD(j,ej)=0 AND ej>1
  LOOP
ENDIF
IF MOD(j,sy)=0 AND sy>1
  LOOP
ENDIF
IF MOD(j,sq)=0 AND sq>1
  LOOP
ENDIF
IF MOD(j,ssy)=0 AND ssy>1
  LOOP
ENDIF
IF MOD(j,sss)=0 AND sss>1 && ss下边素数用着,出现了错误
  LOOP
ENDIF
  IF MOD(j,ssq)=0 AND ssq>1
  LOOP
ENDIF
SELECT 1
GO 1
  COUNT ALL FOR 素数<=j/i TO tj
  SELECT 1
  GO 1
        FOR k=1 TO tj
        SELECT 1
        ss=素数
        jl=recno()
        pdz=j-i*ss
           SELECT 1
           GO 1
           COUNT NEXT i*tj+10 FOR 素数=pdz TO tj1  
           IF tj1=1
           EXIT
           ENDIF
         SELECT 1
        GO jl+1
        ENDFOR
   IF k>tj
   SELECT 2  
   APPEND BLANK            
   REPLACE m值 WITH i
   REPLACE n值 WITH j
   ENDIF
  ENDFOR
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是查找“1+m”中的反例程序,1表示素数,m表示m倍的素数,它们的和为正整数。
#219
独木星空2022-05-29 20:08
SELECT 1
USE D:\素数式裂解\素数式5横.DBF ALIAS 素数式5
kssj=SECONDS()
x=5 && m已经作为一个变量存在,所以文件大的没边,形成了1.9亿的记录条
    For i=1 to 5
      FOR j=i+1  TO 6
         FOR h=j+1  TO 7
         FOR k=h+1  TO 8
         FOR m=k+1  TO 9
          ss1=i-1
          ss2=j-1
          ss3=h-1
          ss4=k-1
          ss5=m-1
          SELECT  1   &&打开盛放素数式的表
          APPEND BLANK     &&增加一条空记录
          REPLACE 素1 WITH ss1 &&将B值付给素数式
          REPLACE 素2 WITH ss2 &&将B值付给素数式
          REPLACE 素3 WITH ss3 &&将B值付给素数式
          REPLACE 素4 WITH ss4 &&将B值付给素数式
          REPLACE 素5 WITH ss5 &&将B值付给素数式
          ENDFOR
          ENDFOR
         ENDFOR
      endfor
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
直接产生数字9的抽5组合
#220
独木星空2022-06-20 14:27
今年四月以来,由于时间紧迫,无法参与大家的讨论之中,很难享受到编程的乐趣,连计划编辑书籍的事情也搁置。
#221
独木星空2022-06-21 20:05
SELECT  1
USE D:\连续整数方程\相同记录数1至4.DBF ALIAS 相同记录1至4
SELECT  2
USE D:\连续整数方程\相同记录数5加6.DBF ALIAS 相同记录56
SELECT  3
USE D:\连续整数方程\自然数二元运算结果表.DBF ALIAS 自然数二元运算
kssj=SECONDS()
 

          SELECT  2
          GO 1
          For j=1 to 4300
          @ 15,22 say j
          A=自然数
          B=相同记录数
              SELECT 3
             INSERT INTO 自然数二元运算 (自然数,方法数) SELECT 自然数+A ,方法数*B FROM 相同记录1至4
          SELECT 2
          SKIP
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
制作方阵对方阵二元运算结果表
#222
独木星空2022-06-23 14:20
SELECT  1
USE D:\连续整数方程\三生素数逆1.DBF ALIAS 三生逆1
SELECT  2
USE D:\连续整数方程\三生素数逆2.DBF ALIAS 三生逆2
SELECT  3
USE D:\连续整数方程\三生素数二元运算表逆.DBF ALIAS 三生二元表
kssj=SECONDS()
 
          SELECT  2
          GO 1
          For j=1 to 1009
          @ 15,22 say j
          B=三中42
         
             SELECT 3
             INSERT INTO 三生二元表 (合成数) SELECT 三中42+B FROM 三生逆1
          SELECT  2
          SKIP
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
制作三生素数连续追加方式的二元运算(本程序实际上是完成一个二维表的加法运算并储存)
#223
独木星空2022-06-25 09:39
SELECT  1
USE D:\连续整数方程\相同记录数1至4.DBF ALIAS 相同记录1至4
SELECT  2
USE D:\连续整数方程\相同记录数5加6.DBF ALIAS 相同记录56
SELECT  3
USE D:\连续整数方程\自然数二元运算结果表.DBF ALIAS 自然数二元运算
kssj=SECONDS()
 

          SELECT  2
          GO 1
          For j=1 to 4300
          @ 15,22 say j
          A=自然数
          B=相同记录数
              SELECT 3
             INSERT INTO 自然数二元运算 (自然数,方法数) SELECT 自然数+A ,方法数*B FROM 相同记录1至4
          SELECT 2
          SKIP
          ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
连续整数方程\制作方阵对方阵二元运算结果表
两个方阵的二元同时运算,一个方阵计算类名,另一个方阵计算合成方法数,形成两个字段的vfp表,类名与合成方法数关联成一个记录条,然后继续操作,汇总同类名的合成方法数。
#224
独木星空2022-06-27 07:24
SELECT 1
USE D:\素数式裂解\素数式8.DBF ALIAS 素数式8
SELECT 2
USE D:\素数式裂解\素数式8横.DBF ALIAS 素数式8横
kssj=SECONDS()
    SELECT 1
    ss1=0
    ss8=42
    For i=1 to 38760
      ss2=素式8
      SKIP
      ss3=素式8
      SKIP
      ss4=素式8
      SKIP
      ss5=素式8
       SKIP
      ss6=素式8
      skip
      ss7=素式8
       SELECT  2  &&打开盛放素数式的表
       APPEND BLANK     &&增加一条空记录
       REPLACE 素1 WITH ss1 &&将B值付给素数式
       REPLACE 素2 WITH ss2 &&将B值付给素数式
       REPLACE 素3 WITH ss3 &&将B值付给素数式
       REPLACE 素4 WITH ss4 &&将B值付给素数式
       REPLACE 素5 WITH ss5 &&将B值付给素数式
       REPLACE 素6 WITH ss6 &&将B值付给素数式
       REPLACE 素7 WITH ss7 &&将B值付给素数式
       REPLACE 素8 WITH ss8 &&将B值付给素数式
       SELECT 1
       skip
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
先用程序制作各种情况的素数式(对开头的“0”及末尾的“42”不做处理),只产生2至40的一个抽取6个的组合数。(制作一个仅含一个字段的vfp表)。
     上述完成后,用本程序制作一个含8个字段的vfp表,记录条是从0到42的一个组合(每条记录的第一个字段的值为0,末字段(即第八个字段的)值是42,说白了就是在2-40之间抽取6个数的组合,再加个0和42构成含8个值的记录条,只是偶数,奇数不参与)。
#225
独木星空2022-06-30 06:57
SELECT 1
USE D:\三角递增法\四生素数表中.DBF ALIAS 四生素数中
SELECT 2
USE D:\三角递增法\各段四生素数个数细分.DBF ALIAS 四生个数细分
kssj=SECONDS()
SELECT 1
     For j=1 to 500
      @ 3,6 say j
      fw=j*10^7
            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,"运行时间提示")
这是把四生素数表分成500个段落(每段落1000万,总区间跨度50亿),为后续工作打基础,我们知道任何软件都有尺寸(容量)限制,所以好多计算需要分步完成。
#226
独木星空2022-08-18 22:32
回复 132楼 laowan001
在这个问题上laowan001版主给予很大帮助。在我开始学习vfp编程时,得到那宝吉先生的鼎力帮助,从一个菜鸟到独立完成作业,没有那宝吉先生的帮助是无法自己完成的。
#227
独木星空2022-08-18 22:34
算法来源于,问题处理方式,和最后解决问题,前提是:你必须对问题有深刻的理解。
#228
独木星空2022-09-28 14:43
CLOSE DATA
USE d:\连续整数方程\三生素数三元运算结果表逆.dbf
sele 合成数,sum(方法数) as 方法数 from 三生素数三元运算结果表逆 group by 合成数  into dbf d:\连续整数方程\三生三元运算统计表逆
USE IN 三生三元运算统计表逆
时间久了,自己把自己写出来的东西都给忘个差不多了。
#229
独木星空2022-09-30 07:43
编程有时也需要迂回战术,如果不能直达,不妨先解决相关,近似问题,然后在反过头来从新考虑,是否可以在那种基础上发展下去。
#230
独木星空2022-10-17 22:43
单位元矩阵算法:
模5矩阵    0.2    0.4    0.6    0.8
0.2    0.4    0.6    0.8    1
0.4    0.6    0.8    1    1.2
0.6    0.8    1    1.2    1.4
0.8    1    1.2    1.4    1.6
5的剩余类    统计2
0.4    1
0.6    2
0.8    3
1    4
1.2    3
1.4    2
1.6    1
合计    16
周期    0    1    2    3    4    5    6    7    8    9
0    0    1    2    3    4    5    6    7    8    9
1    1    2    3    4    5    6    7    8    9    10
2    2    3    4    5    6    7    8    9    10    11
3    3    4    5    6    7    8    9    10    11    12
4    4    5    6    7    8    9    10    11    12    13
5    5    6    7    8    9    10    11    12    13    14
6    6    7    8    9    10    11    12    13    14    15
7    7    8    9    10    11    12    13    14    15    16
8    8    9    10    11    12    13    14    15    16    17
9    9    10    11    12    13    14    15    16    17    18
周期    统计
0    1
1    2
2    3
3    4
4    5
5    6
6    7
7    8
8    9
9    10
10    9
11    8
12    7
13    6
14    5
15    4
16    3
17    2
18    1
合计    100
这种算法,是耦合的实际应用,为什么,把一个算法要发在这里,一个非常重要的客观原因就是,算法来源于,解决实际问题,我的合成方法论是解决线性不定方程的满足条件的正整数解组数。
#231
独木星空2022-10-23 19:28
use in 3
admin
管理员
alias 别名
connstring  连接线
exdusive  突出的
index  索引
nodata  无数据
norequery  无节制的
noupdate 新的
online  在线
order  秩序
shared 共享的
记事本中的内容
#232
独木星空2022-11-03 22:10
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
k=4
SELECT 1
   GO 3
    s=1.0000000000000000
       FOR  i=1 TO 50876320  &&又遇到以前类似事情,外循环变量用了j与下面的内循环变量一致,所以提示0不能做除数。
        @ 5,12 say i
        SELECT 1
        p=素数
        jl=recno()
        s=s*p^(k-1)*(p-k)/(p-1)^k
         SELECT 1
            GO jl+1
     ENDFOR
?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
好久不发编程了,这是计算孪中合成数的系数极限值。
#233
独木星空2022-11-04 06:29
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
k=4
SELECT 1
   GO 3
    s=1.0000000000000000
       FOR  i=1 TO 50876320  &&又遇到以前类似事情,外循环变量用了j与下面的内循环变量一致,所以提示0不能做除数。
        @ 5,12 say i
        SELECT 1
        p=素数
        jl=recno()
        s=s*p*(p-k)/(p-2)^2
         SELECT 1
            GO jl+1
     ENDFOR
?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
孪中合成数的数量公式中的系数(一个式子的极限值):0.3968803638672010
运行时间:  32分46.79秒   确定。
那个值*6就是C2(2)了
6*∏P(P-4)/(P-2)^2=6*0.3968803638672010=2.3812821832032100
#234
独木星空2022-11-15 21:11
SELECT 1
USE D:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=1.0000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A^7*(A-8)/(A-1)^8
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*A^7*(A-8)/(A-1)^8
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
#235
独木星空2022-11-15 21:12
因为VFP版块的排序限制,即便是新发的帖子,它也不会出现在第一页。
#236
独木星空2022-11-19 14:35
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=3.000000000000000000
SELECT 1
  GO 3
  A=素数
  s=s*A*(A-3)/(A-1)/(A-2)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-3)/(B-1)/(B-2)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
#237
独木星空2022-11-19 14:45
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=2.000000000000000000
SELECT 1
  GO 2
  A=素数
  s=s*A*(A-2)/(A-1)^2
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-2)/(B-1)^2
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是求二生素数的公共系数。
#238
独木星空2022-11-19 21:50
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=5.000000000000000000
SELECT 1
  GO 4
  A=素数
  s=s*A*(A-5)/(A-2)/(A-3)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(A-5)/(A-2)/(A-3)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算孪中+最密3生素数的中项合成数的数量公式前的系数(公共系数)
#239
独木星空2022-11-20 21:42
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=4.500000000000000000
SELECT 1
  GO 3
  A=素数
  s=s*A^2*(A-3)/(A-1)^3
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B^2*(B-3)/(B-1)^3
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
最密3生素数(P,P+2,P+6)的系数
#240
独木星空2022-11-22 20:59
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=8.7500000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-7)/(A-3)/(A-4)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-7)/(B-3)/(B-4)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
最密3生素数的中项与最密4生素数的中项和,合成数的数量公式中的公共系数。
#241
独木星空2022-11-23 09:52
MODIFY PROJECT e:\三角递增法\三角项目.pjx
USE 四生素数表中 AGAIN IN 0
SELECT 四生素数表中
BROWSE LAST
?RECCOUNT()
GO bottom
GO 1000
GO 200
COUNT ALL FOR 四中<1000000 TO tj
?tj
GO 1
COPY TO e:\三角递增法\四生素数中项.xls NEXT 165 TYPE XL5
USE
MODIFY PROJECT f:\最密三生素数\正三生素数.pjx
USE 三生素数d24 AGAIN IN 0
SELECT 三生素数d24
BROWSE LAST
GO bottom
COUNT ALL FOR 三中24<1000000 TO tj
?tj
GO 1392
GO 1
COPY TO f:\最密三生素数\三中表.xls NEXT 1392 TYPE XL5
USE

今天的实际操作。
#242
独木星空2022-11-25 09:34
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=7.0000000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-7)/(A-2)/(A-5)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-7)/(B-2)/(B-5)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
求孪生素数对的中项,与最密5生素数的中项和,合成数的数量公式的公共系数。
#243
独木星空2022-11-25 22:10
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=4.3750000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-7)/(A-1)/(A-6)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-7)/(B-1)/(B-6)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算一个自由素数+一个最密6生素数的中项,合成数数量公式中的公共系数。
#244
独木星空2022-11-26 10:36
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=13.1250000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-8)/(A-3)/(A-5)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-8)/(B-3)/(B-5)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算最密3生素数的中项,加最密5生素数的中项,合成数的数量公式的公共系数。(储备材料)
#245
独木星空2022-11-26 22:17
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=14.0000000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-8)/(A-2)/(A-6)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-8)/(B-2)/(B-6)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算最密2生素数的中项,加最密6生素数的中项,合成数的数量公式的公共系数。(储备材料)
#246
独木星空2022-11-27 21:01
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=23.333333333333333333
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-8)/(A-4)^2
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-8)/(B-4)^2
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算最密4生素数(0,2,6,8)的中项合成数,数量公式中的公共系数。
#247
独木星空2022-11-28 16:44
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=4.375000000000000000
SELECT 1
  GO 5
  A=素数
  s=s*A*(A-8)/(A-1)/(A-7)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-8)/(B-1)/(B-7)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算素数+最密7生素数的中项,合成数的数量公式中的公共系数。
#248
独木星空2022-11-29 15:29
类似的程序,我发在数学中国那个网站上了,有兴趣可以看一下,都是求k生素数的系数帖子。
http://www.
#249
独木星空2022-11-30 18:11
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=34336.536899263900000000
SELECT 1
  GO 8
  A=素数
  s=s*A^11*(A-12)/(A-1)^12
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B^11*(B-12)/(B-1)^12
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
最密12生素数的系数
从新计算了2至12生素数的系数(这是最后一个,其他的不在转载)
#250
独木星空2022-12-02 20:36
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=14.437500000000000000
SELECT 1
  GO 6
  A=素数
  s=s*A*(A-9)/(A-3)/(A-6)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-9)/(B-3)/(B-6)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是求,最密3生素数的中项,加,最密6生素数的中项,和分布公式的公共系数。
#251
独木星空2022-12-04 17:46
SELECT 1
USE H:\素数式系数\素数表十亿.dbf ALIAS 素数表
kssj=SECONDS()  &&取出开始时间
s=8.555555555555555555
SELECT 1
  GO 6
  A=素数
  s=s*A*(A-9)/(A-2)/(A-7)
  SKIP 1
        FOR  j=1 TO 50876310
        SELECT 1
        B=素数
        s=s*B*(B-9)/(B-2)/(B-7)
        SELECT 1  
        SKIP
        ENDFOR

?s
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
计算孪生素数对的中项,加,最密7生素数的中项,和,合成数的数量公式中的公共系数。
储备材料。
123456