Công thức tính Tổ hợp, Chỉnh hợp

Liên hệ QC
Công thức và kết quả như vậy đúng rồi. Không biết bạn đếm thủ công bằng cách nào. Bạn xem code sau
Sub main()
Dim kq As Long
Dim a As Integer, b As Integer, c As Integer, d As Integer
kq = 0
For a = 0 To 96
For b = a + 1 To 97
For c = b + 1 To 98
For d = c + 1 To 99
kq = kq + 1
Next d
Next c
Next b
Next a
Sheet1.Range("a1").Value = kq
End Sub

Có lẽ đây là cách kiểm tra nhanh nhất, đỡ phải đau đầu!
 
Vậy, với trường hợp 4 số trong 100 số thì sẽ là: 100!/4!.96! = 100.99.98.97/4.3.2.1 = 94.109.400 / 24 = 3.921.225
Tuy nhiên, mình tính thủ công sao kết quả chỉ ra hơn 600.000. Mình sẽ kiểm tra lại việc tính thủ công của mình. Mình cũng muốn hỏi lại Bạn xem công thức mình làm như trên đã đúng chưa để có cơ sở so sánh.
Cám ơn Ban.

Nếu bạn cần liệt kê các tổ hợp chập number_chosen của number với number_chosen và number là thông số thì xem code tôi đã viết.

Code kiểm tra và nếu số tổ hợp quá lớn (> 200000) thì không làm gì cả. Tôi chọn thế để khỏi phải chạy code khi kết quả quá lớn và phải đợi cho tới khi đầu bạc răng long. Nếu bạn thay đổi số 200000 thì phải nhớ là mảng không được có kích thước quá lớn.

Chạy ví dụ SUB bla
----------
Để đọc được ghi chú: Alt+F11 --> Tools --> Options --> Editor Format --> mục Font chọn Times New Roman (vietnamese) --> OK
 

File đính kèm

  • modGetCombin.rar
    2.1 KB · Đọc: 56
Nếu bạn cần liệt kê các tổ hợp chập number_chosen của number với number_chosen và number là thông số thì xem code tôi đã viết.

Code kiểm tra và nếu số tổ hợp quá lớn (> 200000) thì không làm gì cả. Tôi chọn thế để khỏi phải chạy code khi kết quả quá lớn và phải đợi cho tới khi đầu bạc răng long. Nếu bạn thay đổi số 200000 thì phải nhớ là mảng không được có kích thước quá lớn.

Chạy ví dụ SUB bla
----------
Để đọc được ghi chú: Alt+F11 --> Tools --> Options --> Editor Format --> mục Font chọn Times New Roman (vietnamese) --> OK
bác có zalo ko cho em xin đi, em hỏi bác xíu
 
Web KT
Back
Top Bottom