hỏi về hàm công thức tổ hợp, chỉnh hợp (1 người xem)

Người dùng đang xem chủ đề này

anhhien0510

Thành viên mới
Tham gia
7/4/11
Bài viết
16
Được thích
0
Mình có 1 bài toán như này, có 10 số từ 0,1,2... đến 9
câu hỏi mình đặt ra là mình chỉ lấy 7 số trong 10 số
Ví du: 0,1,2,3,4,5,6
0,1,2,3,4,5,7
0,1,2,3,4,5,8
..............
Vậy có hàm nào xuất ra tất cả các dãy mà lấy ra 7 số trong 10 số ko vậy? Mong ace chỉ giáo
 
Ch­ưa hiểu lắm. Mục đích là bạn định làm gì nhỉ?
 
Mình có 1 bài toán như này, có 10 số từ 0,1,2... đến 9
câu hỏi mình đặt ra là mình chỉ lấy 7 số trong 10 số
Ví du: 0,1,2,3,4,5,6
0,1,2,3,4,5,7
0,1,2,3,4,5,8
..............
Vậy có hàm nào xuất ra tất cả các dãy mà lấy ra 7 số trong 10 số ko vậy? Mong ace chỉ giáo
Tôi có sẵn Macro. Nếu bạn thích thì dùng thử.
PHP:
Private Sub Main(ByRef Arr, ByVal n As Long, ByVal Str As String, ByVal k As Long, ByRef Result, ByRef Index As Long)
For i = n To UBound(Arr, 1) - k + 1
    If k = 1 Then
        Index = Index + 1
        Result(Index, 1) = Str & Arr(i, 1)
    Else
        Main Arr, i + 1, Str & Arr(i, 1), k - 1, Result, Index
    End If
Next
End Sub
PHP:
Function LietKeToHop(ByVal Arr, ByVal k)
Dim Result() As String, n As Long
n = Application.WorksheetFunction.Combin(UBound(Arr, 1) - LBound(Arr, 1) + 1, k)
ReDim Result(1 To n, 1 To 1)
Main Arr, LBound(Arr, 1), "'", k, Result, 0
LietKeToHop = Result
End Function
PHP:
Sub Test()
Dim Arr(1 To 10, 1 To 1), KQ
For i = 1 To 10
    Arr(i, 1) = i - 1
Next
KQ = LietKeToHop(Arr, 7)
[A1].Resize(UBound(KQ, 1)).Value = KQ
End Sub
 

Bài viết mới nhất

Back
Top Bottom