求一组数据最多可能组合的算法,VB

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:01:01
比如一堆数字,
1,2,88,55,4,67
要求取出任意可能的5位数,输出所有可能的组合。
clarkbao兄的能运行,且结果也对,可是当Num = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)的时候,就会输出在结尾输出空行,还有数组不能小于8? 烦请指教,谢谢

【补充1】:这个例子的主要目的是用ASP实现一个彩票组合抽取程序,比如输入一个数组,02,06,08,12,21,09,7,30,每次抽取5个数,形成一个投注号码,取出所有可能的组合

补充2:取出的肯定不能重复。

'没有使用任何算法, 直接排序输出.

Dim StrOut() As String

Private Sub Command1_Click()
Dim Num() As Variant
Dim GroupMax As Long
Dim i As Long, j As Long, l As Long, m As Long, n As Long
Dim lngTemp() As Long
Dim TT As Long
GroupMax = 5
ReDim lngTemp(GroupMax)
'在此对数据进行初始化
Num = Array(1, 2, 3, 4, 5, 6, 7, 8)
TT = 1
For i = UBound(Num) + 1 To GroupMax - 1 Step -1
TT = TT * i
Next

For i = 2 To GroupMax
TT = TT / i
Next
ReDim StrOut(TT)

For i = 1 To TT
StrOut(i) = ""
Next

For i = 0 To UBound(Num)
For j = 0 To UBound(Num)
For l = 0 To UBound(Num)
For m = 0 To UBound(Num)
For n = 0 To UBound(Num)
lngTemp(1) = Num(i)
lngTemp(2) = N