有n个数,全排列共计n!种排列组合方式
比如b(1),b(2),b(3),3个点共计6种排列方式,如何在vb中显示出所有的排列方式?
谢谢!

解决方案 »

  1.   

    for i=1 to 3
    for j=1 to 3
    for k=1 to 3
    if i=j or j=k or i=k then
       exit sub
    else
       '输出排列 b(i) & b(j) & b(k)
    endif
    next i
    next j
    next k
      

  2.   

    抱歉 中间部分应修改
    if i<>j and j<>k and i<> k then
       '输出排列 b(i) & b(j) & b(k)
    endif
      

  3.   

    for i= 0 to ubound(b)-1
      

  4.   

    http://superliufa.51.net/program/techtext0003.htmhttp://noi.stinfo.net/LJCM/ljcm_hs.htm
      

  5.   

    Function prt(l As String, r As String)
    Dim n As Integer
    n = Len(r)
    If n = 0 Then
        Exit Function
    ElseIf n = 1 Then
        Debug.Print l & r
    Else
        Dim tmp1, tmp2, tmp3 As String
        Dim i As Integer
        For i = 1 To n
            tmp1 = left(r, i - 1)
            tmp2 = Mid(r, i, 1)
            tmp3 = Mid(r, i + 1)
            r = tmp2 & tmp1 & tmp3
            prt l & tmp2, Mid(r, 2)
        Next
    End If
    End FunctionPrivate Sub Form_Load()prt "", "abc"End Sub
      

  6.   

    Dim tot As IntegerFunction prt(l As String, r As String)
    Dim n As Integer
    n = Len(r)
    If n = 0 Then
        Exit Function
    ElseIf n = 1 Then
        Debug.Print l & r
        tot = tot + 1
    Else
        Dim tmp1, tmp2, tmp3 As String
        Dim i As Integer
        For i = 1 To n
            tmp1 = left(r, i - 1)
            tmp2 = Mid(r, i, 1)
            tmp3 = Mid(r, i + 1)
            r = tmp2 & tmp1 & tmp3
            prt l & tmp2, Mid(r, 2)
        Next
    End If
    End FunctionPrivate Sub Form_Load()
    prt "", "abcdef"
    Debug.Print "Total:" & tot
    End Sub
      

  7.   

    用递归
    Public Function jiecheng(ByVal n As Integer) As Long
    If n = 1 Then
        jiecheng = 1
    Else
        jiecheng = n * jiecheng(n - 1)
    End If
    End Function