数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 白新岭

[原创]请教vfbpgyfk先生一个编程问题

  [复制链接]
发表于 2021-11-21 10:43 | 显示全部楼层
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:49 | 显示全部楼层
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 21:05 | 显示全部楼层
SELECT 477
USE d:\等差四生素数7\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
wozzxz="无偶最终结果表新总"
For l=5 to 5
      @ 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,"运行时间提示")
回复 支持 反对

使用道具 举报

发表于 2021-11-21 21:06 | 显示全部楼层
SELECT 1
USE d:\等差四生素数7\无偶最终结果表新总5.DBF ALIAS 无偶终表5
SELECT 2
USE d:\等差四生素数7\无偶最终结果表新总5单.DBF ALIAS 无偶结果表新5单
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 2
      @ 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 21:07 | 显示全部楼层
SELECT 1
USE d:\等差四生素数7\无偶最终结果表新总5单.DBF ALIAS 无偶总新5单
SELECT 2
USE d:\等差四生素数7\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=361 to 450
      @ 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 21:32 | 显示全部楼层
截止2021年11月21日周日21:36分,热度55,回复1091,浏览量41292.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 20:34 | 显示全部楼层
今天出现了一个奇怪现象,那个偶数参照表的指针一直没有移动,不知何故,我忽然一想,应该是值推算错误,而细计算又不是。非常奇怪,只好采取其他赋值语句了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 22:51 | 显示全部楼层
SELECT 477
USE d:\等差四生素数\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
wozzxz="无偶最终结果表新总"
For l=2 to 2
      @ 15,12 say l
      wozb=wozzxz+ALLTRIM(STR(l))
      USE IN 477
      USE d:\等差四生素数\无偶数表总表.DBF ALIAS 无偶数总表
       SELECT 477
     
       DELETE ALL
       PACK
      
      
bwjm="偶数周期表"
For j=(l-1)*2 to 2*l
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE d:\等差四生素数\&wd in 0
      For i=(k-1)*1050000+1 to (k+1)*1050000

      @ 10,22 say i
&&   n=i
&&   s=0
&&   do case
  &&  case MOD(n,5)=1
  &&     s=s+2
  &&  case MOD(n,5)=2
  &&      s=s+4
&&   case MOD(n,5)=3
  &&     s=s+10
  &&  case MOD(n,5)=4
  &&     s=s+12
  &&  case MOD(n,5)=0
   &&   s=s+14
   && endcase
     
  &&  wou=INT((n-1)/5)*14+s
     wou=2*i
     
    && IF MOD(wou,7)=1 OR  MOD(wou,7)=6
   &&  LOOP
    && ENDIF
     
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
         A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         SKIP
         ?recno()
         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:\等差四生素数\&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-22 22:52 | 显示全部楼层
SELECT 1
USE d:\等差四生素数\无偶最终结果表新总2.DBF ALIAS 无偶终表2
SELECT 2
USE d:\等差四生素数\无偶最终结果表新总2单.DBF ALIAS 无偶结果表新2单
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 1400020
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    && jl=recno()
    PUBLIC A
    A=无偶
   
    IF MOD(i,2)=1
        IF MOD(A,7)=1 OR MOD(A,7)=6
        ELSE
      
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 无偶 WITH A    &&将N值付给素数式
         ENDIF
         
    ENDIF
   
   SELECT 1
   skip
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 22:52 | 显示全部楼层
SELECT 1
USE d:\等差四生素数\无偶最终结果表新总2单.DBF ALIAS 无偶总新2单
SELECT 2
USE d:\等差四生素数\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=21 to 40
      @ 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,"运行时间提示")
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-18 20:52 , Processed in 0.087041 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表