数学中国

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

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

  [复制链接]
 楼主| 发表于 2021-5-11 16:28 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式5.DBF ALIAS 素数式5
kssj=SECONDS()
    For i=1 to 12
      FOR j=i+1  TO 13
         FOR h=j+1  TO 14
          ss1=2*i
          ss2=2*j
          ss3=2*h
          SELECT  1   &&打开盛放素数式的表
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式5 WITH ss1 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式5 WITH ss2 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式5 WITH ss3 &&将B值付给素数式
         ENDFOR
      endfor
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是制作5生素数式的参照表制作过程,然后再逐组筛选符合条件的即可。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-11 16:35 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式6.DBF ALIAS 素数式6
kssj=SECONDS()
    For i=1 to 11
      FOR j=i+1  TO 12
         FOR h=j+1  TO 13
         FOR k=h+1  TO 14
          ss1=2*i
          ss2=2*j
          ss3=2*h
          ss4=2*k
          SELECT  1   &&打开盛放素数式的表
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式6 WITH ss1 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式6 WITH ss2 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式6 WITH ss3 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式6 WITH ss4 &&将B值付给素数式
          ENDFOR
         ENDFOR
      endfor
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
最终结果已验证,的确是组合数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-11 22:04 | 显示全部楼层
截止2021年5月11日周二22:03分本帖浏览量23690,回复646.  留下足迹吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 06:13 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式7.DBF ALIAS 素数式7
kssj=SECONDS()
    For i=1 to 10
      FOR j=i+1  TO 11
         FOR h=j+1  TO 12
         FOR k=h+1  TO 13
         FOR m=k+1  TO 14
          ss1=2*i
          ss2=2*j
          ss3=2*h
          ss4=2*k
          ss5=2*m
          SELECT  1   &&打开盛放素数式的表
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式7 WITH ss1 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式7 WITH ss2 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式7 WITH ss3 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式7 WITH ss4 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式7 WITH ss5 &&将B值付给素数式
          ENDFOR
          ENDFOR
         ENDFOR
      endfor
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这个问题也可以增加字段,以记录条形式储存起来,这就要看后期应用了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 06:25 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式8.DBF ALIAS 素数式8
kssj=SECONDS()
    For i=1 to 9
      FOR j=i+1  TO 10
         FOR h=j+1  TO 11
         FOR k=h+1  TO 12
         FOR m=k+1  TO 13
          FOR g=m+1  TO 14
          ss1=2*i
          ss2=2*j
          ss3=2*h
          ss4=2*k
          ss5=2*m
          ss6=2*g
          SELECT  1   &&打开盛放素数式的表
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式8 WITH ss1 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式8 WITH ss2 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式8 WITH ss3 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式8 WITH ss4 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式8 WITH ss5 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式8 WITH ss6 &&将B值付给素数式
          ENDFOR
          ENDFOR
          ENDFOR
         ENDFOR
      endfor
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是运用循环变量植入的分组,如果一个表中存有n个元素,抽取m个元素,组合数的话,需要记住指针位置,而且每个循环开头,都要返回所在循环指针加1的位置。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 06:30 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式9.DBF ALIAS 素数式9
kssj=SECONDS()
    For i=1 to 8
      FOR j=i+1  TO 9
         FOR h=j+1  TO 10
         FOR k=h+1  TO 11
         FOR m=k+1  TO 12
          FOR g=m+1  TO 13
          FOR l=g+1  TO 14
          ss1=2*i
          ss2=2*j
          ss3=2*h
          ss4=2*k
          ss5=2*m
          ss6=2*g
          ss7=2*l
          SELECT  1   &&打开盛放素数式的表
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss1 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss2 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss3 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss4 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss5 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss6 &&将B值付给素数式
          APPEND BLANK     &&增加一条空记录
          REPLACE 素式9 WITH ss7 &&将B值付给素数式
          ENDFOR
          ENDFOR
          ENDFOR
          ENDFOR
         ENDFOR
      endfor
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
已经达到7层嵌套。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 15:48 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式.DBF ALIAS 素数式
SELECT 2
USE D:\素数式裂解\素数式4横.DBF ALIAS 素数式4横
kssj=SECONDS()
    SELECT 1
    ss1=0
    ss4=30
    For i=1 to 91
      ss2=素式0
      SKIP
      ss3=素式0
       SELECT  2  &&打开盛放素数式的表
       APPEND BLANK     &&增加一条空记录
       REPLACE 素1 WITH ss1 &&将B值付给素数式
       REPLACE 素2 WITH ss2 &&将B值付给素数式
       REPLACE 素3 WITH ss3 &&将B值付给素数式
       REPLACE 素4 WITH ss4 &&将B值付给素数式
       SELECT 1
       skip
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
用程序打分成跨度为30的四生素数式程序。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 15:57 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式5.DBF ALIAS 素数式5
SELECT 2
USE D:\素数式裂解\素数式5横.DBF ALIAS 素数式5横
kssj=SECONDS()
    SELECT 1
    ss1=0
    ss5=30
    For i=1 to 364
      ss2=素式5
      SKIP
      ss3=素式5
      SKIP
      ss4=素式5
       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值付给素数式
       SELECT 1
       skip
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这里有很多示例,供大家学习。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 17:06 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式6.DBF ALIAS 素数式6
SELECT 2
USE D:\素数式裂解\素数式6横.DBF ALIAS 素数式6横
kssj=SECONDS()
    SELECT 1
    ss1=0
    ss6=30
    For i=1 to 1001
      ss2=素式6
      SKIP
      ss3=素式6
      SKIP
      ss4=素式6
      SKIP
      ss5=素式6
       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值付给素数式
       SELECT 1
       skip
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-12 17:40 | 显示全部楼层
SELECT 1
USE D:\素数式裂解\素数式7.DBF ALIAS 素数式7
SELECT 2
USE D:\素数式裂解\素数式7横.DBF ALIAS 素数式7横
kssj=SECONDS()
    SELECT 1
    ss1=0
    ss7=30
    For i=1 to 2002
      ss2=素式7
      SKIP
      ss3=素式7
      SKIP
      ss4=素式7
      SKIP
      ss5=素式7
       SKIP
      ss6=素式7
       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值付给素数式
       SELECT 1
       skip
   endfor
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
程序一般是逐步加注,步步升高。先单项,再综合,一步到位设计思路较复杂。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 18:40 , Processed in 0.082432 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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