木头人 发表于 2020-5-15 03:44:20

大神帮我看一下我写的错在那

我的要求是临时文本中5个数或5个以上连号不要
版本 2

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击
.局部变量 a, 整数型, , "30"

a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }
排列 (a, 8)


.子程序 排列
.参数 a, 整数型, 数组
.参数 n, 整数型
.局部变量 m, 文本型, , "8"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 k, 整数型
.局部变量 b, 整数型
.局部变量 c, 整数型
.局部变量 d, 整数型
.局部变量 e, 整数型
.局部变量 f, 整数型
.局部变量 g, 整数型
.局部变量 h, 整数型
.局部变量 l, 整数型
.局部变量 临时文本, 文本型
.局部变量 临时文本1, 文本型

.计次循环首 (到整数 (求次方 (2, 取数组成员数 (a))) - 1, i)
    k = 0
    临时文本 = “”
    j = 1
    .判断循环首 (i ≠ 0)
      .如果真 (i % 2 = 1)
            k = k + 1
            临时文本 = 临时文本 + 到文本 (a ) + “ ”
      .如果真结束
      i = i ÷ 2
      j = j + 1
    .判断循环尾 ()
    .如果真 (k = n)
      m = 分割文本 (临时文本, “ ”, n)
      b = 到整数 (m )
      c = 到整数 (m )
      d = 到整数 (m )
      e = 到整数 (m )
      f = 到整数 (m )
      g = 到整数 (m )
      h = 到整数 (m )
      l = 到整数 (m )
      .如果 (l - h = h - g = g - f = f - e = 1) 或 (h - g = g - f = f - e = e - d = 1) 或( g - f = f - e = e - d = d - c = 1 )或( f - e = e - d = d - c = c - b = 1)

      .否则
            编辑框1.加入文本 (删尾空 (临时文本) + “\n”)
      .如果结束
      临时文本1 = 临时文本 + “\n”
    .如果真结束

.计次循环尾 ()

shayu 发表于 2020-5-15 05:11:45

连号什么意思

XF谭镇洋 发表于 2020-5-15 08:06:21

什么意思?看不懂(=_=)题目

XF谭镇洋 发表于 2020-5-15 08:14:28

XF谭镇洋 发表于 2020-5-15 08:06
什么意思?看不懂(=_=)题目

楼主的意思是不是判断临时文本是否有5个或5个以上的相连数字数列?
*例子:临时文本="12368",判断:假
*例子:临时文本="45678",判断:真

???

木头人 发表于 2020-5-15 11:02:53

XF谭镇洋 发表于 2020-5-15 08:14
楼主的意思是不是判断临时文本是否有5个或5个以上的相连数字数列?
*例子:临时文本="12368",判断:假
* ...

是的,没错,就是它。

XF谭镇洋 发表于 2020-5-15 11:34:28

木头人 发表于 2020-5-15 11:02
是的,没错,就是它。

最简单的枚举法:
思路:先添加五个数字相连的结果列表,便于后面寻找文本
*注释:这里只添加了100组5个数字相连的数列,也就是到101012103104105这数列开始不管用了,楼主可以根据需求来调整循环次数

贴代码:(记得要先建一个成员为0的柔性文本型数组,准备好文本变量和用于储存条件是否成立的逻辑变量)

计次循环首(100,计次)
    数组[计次] = 到文本(计次) + 到文本(计次 + 1) + 到文本(计次 + 3) + 到文本(计次 + 4) + 到文本(计次 + 5)
计次循环尾()
计次循环首(100,计次)
    如果真(寻找文本(文本,数组[计次])≠-1)
      结果 = 真
计次循环尾()
如果真(结果 = 空)
    结果 = 假

木头人 发表于 2020-5-15 12:30:43

XF谭镇洋 发表于 2020-5-15 11:34
最简单的枚举法:
思路:先添加五个数字相连的结果列表,便于后面寻找文本
*注释:这里只添加了100组5个数字 ...

本来是不要这个判断是否5连的,排列(30,8)在笔记本电脑上排列了半天都没排列完,我又想到排列出来的有一半是不要的,所以才要加判断,结果列表是没知的,如果有结果列表做个比较就行了,就不用让教大神了。

qq112555 发表于 2020-5-17 18:05:05

嗯楼上说的有道理

zssm 发表于 2020-5-18 12:30:06

这是易语言的!你在E4A提问?

独坐英雄冢 发表于 2020-5-18 12:50:49

这种逻辑类的我拿手。可惜,你找的是你自己的思路的方法。
页: [1]
查看完整版本: 大神帮我看一下我写的错在那