| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3179 人关注过本帖
标题:求大神出手 连续数字算法 也可以说为顺子算法
取消只看楼主 加入收藏
softshl1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-5-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求大神出手 连续数字算法 也可以说为顺子算法
1 2 3 4 5 6 7 8 9 10 11 12 13
任意取五个或者留个或者七个数字 如果取的是五个数字则可以 从剩余数字里面取出指定的数字2个 如果是取留个数字 则可以从余下的数字里面取出1个 如果取的为7个数字则不能继续取数字
利用取出的数字判断是否可组成连续的五个数字。
例如 1 3 5 8 9 需要继续取出 2和 4组成连续的五个数字 1 2 3 4 5
1 4 5 6 7 13 需要继续取出 4或者7 任意一个
1 3 7 8 12 无论取一个还是两个都不能组成连续的数字
dim a() as integer

Function 连续数字判定(dim a As Variant) as string

连续数字判定=可继续获取数字X,y组成连续数字
End Function
2014-05-19 18:49
softshl1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-5-19
收藏
得分:0 
回复 2 楼 azzbcc
思路大概也知道 但逻辑比较复杂 死活写不出来。
先排序 然后根据比较差值 还要判断这个范围内已有的数据
1 3 5 7 12
3 5 7
继续取 4 6 或者 2 4就可以 组成顺子
至少三个数字才行 ABS(1-12)>4  1和12不能同时存在
同理 1 7 不能同时存在
1 5 有可能同时存在 1 和5 加中间数字 总共三个 1 3 5继续取两个就可以组成顺子
但编写起来很麻烦
2014-05-19 21:01
softshl1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-5-19
收藏
得分:0 
感谢两位版主 解决办法很完美
2014-05-20 09:14
softshl1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-5-19
收藏
得分:0 
有点小瑕疵 lowxiong 原数据:6,3,11,12,4,可以组成顺子。5,|5,7,| 这个是出来的结果 应该为 2,5,|5,7,| 这个挺难的


有时候还出现 原数据:6,3,11,12,4,可以组成顺子。 没有可组成数字输出
Private Sub Command1_Click()
  Dim a As String, b() As String, c() As String, d As String, i As Integer, j As Integer, s As Integer
  Randomize
  s = Int(Rnd * 3) + 5    '随机数据个数
  a = ""
  j = Int(Rnd * 13) + 1
  For i = 1 To s
    While InStr(a, j) > 0
      j = Int(Rnd * 13) + 1
    Wend
    a = a & j & ","
  Next
  '上述代码产生随机数据在a里
  'a = "10,2,5,3,9,"     '该数据实验用
  a = "6,3,11,12,4,"
  Text1 = "原数据:" & Left(a, Len(a) - 1)
  d = ""
  PermComb a, d
  If d <> "" Then
    Text1 = Text1 & ",可以组成顺子。"
    If s < 7 Then
      b = Split(d, "|")
      For i = 0 To UBound(b) - 1
        c = Split(b(i), ",")
        d = ""
        For j = 0 To 6
          If InStr(a, c(j) & ",") = 0 Then d = d & c(j) & ","
         
        Next
        Text1.Text = Text1.Text & d & "|"
      Next
    End If
  Else
    Text1 = Text1 & ",无法组成顺子。"
  End If
End Sub

[ 本帖最后由 softshl1 于 2014-5-20 09:50 编辑 ]
2014-05-20 09:39
softshl1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-5-19
收藏
得分:0 
非常感谢
2014-05-20 10:10
softshl1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-5-19
收藏
得分:0 
这就是水平差距,我调试的的时候跟进就没发现是什么导致的。
2014-05-20 10:19
快速回复:求大神出手 连续数字算法 也可以说为顺子算法
数据加载中...
 
   



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

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