VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 508|回复: 1

[求助] 和大家请教取数的思路

[复制链接]
发表于 2019-9-20 18:47:01 | 显示全部楼层 |阅读模式
请教各位老师 思路:
      从1,2,3,4, 5 里面任取2个数字,共有哪几种取法,用VB怎么写?
 楼主| 发表于 2019-9-20 21:39:47 | 显示全部楼层
已经解决,如下:
  1. Dim TxtSum$
  2. Dim Out1() As Integer, Used1() As Boolean, DuiLie() As String, MyCount1%

  3. Private Sub Command1_Click()
  4.     Dim SideLength%, I%, J%, K%, L%, T1$
  5.    
  6.     '设置边长(总个数)
  7.     SideLength = 5
  8.    
  9.     '读取数组元素
  10.     For I = 1 To SideLength
  11.         T1 = T1 & " " & I
  12.     Next
  13.     DuiLie = Split(Trim(T1), " ")
  14.    
  15.     ReDim Out1(SideLength) As Integer
  16.     ReDim Used1(SideLength) As Boolean
  17.    
  18.     MyCount1 = 0: TxtSum = ""
  19.     For I = 1 To SideLength
  20.         Call 递归求组合(0, SideLength, I)
  21.     Next
  22.     TxtSum = Mid(TxtSum, 2)
  23. End Sub

  24. Sub 递归求组合(ByVal Deep1 As Integer, ByVal SourceNum As Integer, ByVal EachGetNum As Integer)
  25.     Dim I%, LinStr$
  26.     If Deep1 = EachGetNum Then
  27.         MyCount1 = MyCount1 + 1
  28.         LinStr = ""
  29.         For I = 0 To EachGetNum - 1
  30.             LinStr = LinStr & DuiLie(Out1(I) - 1) & ","
  31.         Next I
  32.         LinStr = Left(LinStr, Len(LinStr) - 1)
  33.         TxtSum = TxtSum & "-" & LinStr
  34.     End If
  35.    
  36.     For I = 1 To SourceNum
  37.         If Not Used1(I) Then
  38.             If Deep1 = 0 Then
  39.                 Out1(Deep1) = I
  40.                 Used1(I) = True
  41.                 Call 递归求组合(Deep1 + 1, SourceNum, EachGetNum)
  42.                 Used1(I) = False
  43.             Else
  44.                 If Out1(Deep1 - 1) < I Then
  45.                     Out1(Deep1) = I
  46.                     Used1(I) = True
  47.                     Call 递归求组合(Deep1 + 1, SourceNum, EachGetNum)
  48.                     Used1(I) = False
  49.                 End If
  50.             End If
  51.         End If
  52.     Next
  53. End Sub
复制代码

VB取数.rar

8.7 KB, 下载次数: 43

VB取数

回复 支持 反对

使用道具 举报

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

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2019-12-12 20:12

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表