Const glngMax = 100 '最大生成几组,所有可能性生成够呛
Const gintNum = 36 '待选
Const gintGroup = 7 '每组几个
Dim gCount As Long
Private Sub test(ByVal intStart As Integer, ByVal intLev As Integer, Optional strOutput As String)
Dim i As Integer
DoEvents
If intLev > gintGroup Then Debug.Print strOutput: gCount = gCount + 1: Exit Sub
If gCount > glngMax Then Exit Sub
For i = intStart + 1 To gintNum
Call test(i, intLev + 1, strOutput + " " + Str(i))
Next
End Sub
Private Sub Command1_Click()
gCount = 0
Call test(0, 1)
End Sub
Dim a(4) As Integer, i As Integer, j As Integer, m As Integer, k As Integer
a(0) = 2: a(1) = 3: a(2) = 5: a(3) = 7
Dim s As String
For n = 0 To 3
For m = 0 To 3
If a(n) <> a(m) Then
For j = 0 To 3
If Not (a(n) = a(j) Or a(m) = a(j)) Then
For i = 0 To 3
If Not (a(n) = a(i) Or a(m) = a(i) Or a(j) = a(i)) Then
s = CStr(a(i)) & CStr(a(j)) & CStr(a(m)) & CStr(a(n))
List1.AddItem s
End If
Next i
End If
Next j
End If
Next m
Next n
参考一样吧,4个数的全排列!