求一组合的算法:最好能用VB实现
输入5个数,求其所有的组合.

解决方案 »

  1.   

    本人写了一个vb 程序,算了4个数的,要算5 个数的请把里面的4全部改成5就可以了
    没有注释的,因为是马上编好就发上来了,主要是我比较懒,不过这么简单的东西你应该能看懂的.
    Private Sub Command1_Click()
    Dim a(1 To 4)
    Dim b(1 To 4)
    Dim c(1 To 4)
    Static m
    Static j
     For i = 1 To 4
       a(i) = i
    Next
    x = f(4)Randomize
    for0:
    For i = 1 To 4
    for1:
    b(i) = Int(Rnd * 4) + 1
    For j = 1 To i - 1
    If b(i) = b(j) Then
    GoTo for1
    End If
    Next
    c(i) = a(b(i))
    Next
    For i = 1 To 4
    Print c(i);
    j = j + 1
    If j Mod 4 = 0 Then Print
    Next
    m = m + 1
    If m < x Then
    GoTo for0
    End If
    End Sub
    Function f(x)
    f = 1
    For i = 1 To x
    f = f * i
    Next
    End Function
      

  2.   


    Function f(x)
    f = 1
    For i = 1 To x
    f = f * i
    Next
    End Function
    这个是一个求x的阶乘的自编函数