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

Liên hệ QC

congthanh6868

Thành viên thường trực
Tham gia
30/5/09
Bài viết
322
Được thích
63
Chào các Bạn,

Mình hỏi câu này ở đây nếu không phải thì mong Admin & các bạn thông cảm.

Mình đang có bài tập như sau:
Cho 100 số 2 con số từ 00 - 99.
Tính số lượng số có dãy số gồm 60 số, các số trong 60 số này không trùng nhau?
Không biết Excel có công thức này giải bài toán này không?
Nếu không mong các bạn giúp đỡ cho cách tình phù hợp vì ra trường lâu rồi và ngày xưa mình cũng không giỏi toán lắm.

Cám ơn các Bạn nhiều.
 
Chào các Bạn,

Mình hỏi câu này ở đây nếu không phải thì mong Admin & các bạn thông cảm.

Mình đang có bài tập như sau:
Cho 100 số 2 con số từ 00 - 99.
Tính số lượng số có dãy số gồm 60 số, các số trong 60 số này không trùng nhau?
Không biết Excel có công thức này giải bài toán này không?
Nếu không mong các bạn giúp đỡ cho cách tình phù hợp vì ra trường lâu rồi và ngày xưa mình cũng không giỏi toán lắm.

Cám ơn các Bạn nhiều.
Bạn cho ví dụ về số này đi.
Tham khảo http://vi.wikipedia.org/wiki/Toán_học_tổ_hợp
http://toan.hoctainha.vn/Thu-Vien/Chuyen-De/113299/to-hop-chinh-hop-cac-phuong-phap-tinh-tong
 
Chào các Bạn,Mình hỏi câu này ở đây nếu không phải thì mong Admin & các bạn thông cảm.Mình đang có bài tập như sau:Cho 100 số 2 con số từ 00 - 99.Tính số lượng số có dãy số gồm 60 số, các số trong 60 số này không trùng nhau?Không biết Excel có công thức này giải bài toán này không?Nếu không mong các bạn giúp đỡ cho cách tình phù hợp vì ra trường lâu rồi và ngày xưa mình cũng không giỏi toán lắm.Cám ơn các Bạn nhiều.
Số lượng dãy số không trùng nhau là 40^60
 

Mình ví dụ với đề bài là 6 số trong 10 số nhé:

00, 01, 02, 03, 04, 05, 06, 07, 08, 09

Kết quả là (mình làm thủ công):
00, 01, 02, 03, 04, 05
00, 01, 02, 03, 04, 06
00, 01, 02, 03, 04, 07
00, 01, 02, 03, 04, 08
00, 01, 02, 03, 04, 09
00, 01, 02, 03, 05, 06
00, 01, 02, 03, 05, 07
00, 01, 02, 03, 05, 08
00, 01, 02, 03, 05, 09
00, 01, 02, 03, 06, 07
00, 01, 02, 03, 07, 08
00, 01, 02, 03, 07, 09
00, 01, 02, 03, 08, 09
.........
04, 05, 06, 07, 08, 09
 
Mình ví dụ với đề bài là 6 số trong 10 số nhé:00, 01, 02, 03, 04, 05, 06, 07, 08, 09Kết quả là (mình làm thủ công):00, 01, 02, 03, 04, 0500, 01, 02, 03, 04, 0600, 01, 02, 03, 04, 0700, 01, 02, 03, 04, 0800, 01, 02, 03, 04, 0900, 01, 02, 03, 05, 0600, 01, 02, 03, 05, 0700, 01, 02, 03, 05, 0800, 01, 02, 03, 05, 0900, 01, 02, 03, 06, 0700, 01, 02, 03, 07, 0800, 01, 02, 03, 07, 0900, 01, 02, 03, 08, 09.........04, 05, 06, 07, 08, 09
Chính xác kết quả là (10-6+1)^6
 
Lần chỉnh sửa cuối:
Chào các Bạn,

Mình hỏi câu này ở đây nếu không phải thì mong Admin & các bạn thông cảm.

Mình đang có bài tập như sau:
Cho 100 số 2 con số từ 00 - 99.
Tính số lượng số có dãy số gồm 60 số, các số trong 60 số này không trùng nhau?
Không biết Excel có công thức này giải bài toán này không?
Nếu không mong các bạn giúp đỡ cho cách tình phù hợp vì ra trường lâu rồi và ngày xưa mình cũng không giỏi toán lắm.

Cám ơn các Bạn nhiều.

Số các số là chỉnh hợp chập 60 của 100 phần tử = 100*99*98*...*(100-60+1)=41*42*...*100=100!/40!
Có thể lý giải như sau: số thứ nhất có 100 khả năng, với mỗi số thứ nhất có 99 số thứ 2, mỗi số thứ nhất và số thứ 2 có 98 số thứ 3...
 
Với 6 số trong 10 số theo mẫu của bạn, nếu dùng vòng lặp, giả sử là 6 lần, tôi sẽ viết là:
for i=0...4
for j=1...5
...
for n=5...9
Với 6 vòng lặp trên sẽ tạo được toàn bộ dãy số theo mẫu yêu cầu. Dựa vào số vòng lặp trên sẽ tính ra số lượng tổng cộng. Bạn kiểm tra xem
 
100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
40!= 815915283247897734345611269596115894272000000000
(Theo http://www.nitrxgen.net/factorialcalc.php)
Số các dãy số là 100!/40!
 
Với 6 số trong 10 số theo mẫu của bạn, nếu dùng vòng lặp, giả sử là 6 lần, tôi sẽ viết là:
for i=0...4
for j=1...5
...
for n=5...9
Với 6 vòng lặp trên sẽ tạo được toàn bộ dãy số theo mẫu yêu cầu. Dựa vào số vòng lặp trên sẽ tính ra số lượng tổng cộng. Bạn kiểm tra xem
Bạn làm vậy không đúng. Dãy 00 01 02 03 04 05 khác với dãy 01 00 02 03 04 05.
 
Tôi giả lập theo mẫu đầu bài đã có. Thực ra đầu bài không nêu rõ thứ tự khác nhau có được tính là khác nhau hay không
VD : dãy 00 01 02 03 04 05 và dãy 05 04 03 02 01 00 là giống nhau hay khác nhau?
Cụ thể thế nào là không trùng nhau? ( Theo đầu bài )
 
Lần chỉnh sửa cuối:
Tôi giả lập theo mẫu đầu bài đã có. Thực ra đầu bài không nêu rõ thứ tự khác nhau có được tính là khác nhau hay không
VD : dãy 00 01 02 03 04 05 và dãy 05 04 03 02 01 00 là giống nhau hay khác nhau?
Cụ thể thế nào là không trùng nhau? ( Theo đầu bài )
Nếu thứ tự khác nhau vẫn tính là 1 thì số dãy số là 10!/(6!*4!) = 10*9*8*7/(2*3*4)=210
Nhưng nói chung nếu không chú thích gì thêm thì 2 dãy gồm các số thứ tự khác nhau sẽ tính là 2 dãy khác nhau. Số dãy số sẽ là 10!/4!=5*6*7*8*9*10
Bài này cũng tương tự tìm số các số có 6 chữ số khác nhau: nếu tính cả chữ số không ở hàng trăm nghìn thì số các số là 10*9*8*7*6*5
 
Tôi giả lập theo mẫu đầu bài đã có. Thực ra đầu bài không nêu rõ thứ tự khác nhau có được tính là khác nhau hay không
VD : dãy 00 01 02 03 04 05 và dãy 05 04 03 02 01 00 là giống nhau hay khác nhau?
Cụ thể thế nào là không trùng nhau? ( Theo đầu bài )

Là giống nhau Bạn ạ. Và kết quả đúng là 210 như bạn Hau151978 đã tình. (Mình cũng gửi file đính kèm).
Còn bài tập với 60 trong 100 số thì mình sẽ áp dụng công thức của các bạn để tính xem sao.
Cám ơn các Bạn nhiều.
 

File đính kèm

  • To hop 6-10.xls
    28.5 KB · Đọc: 72
Là giống nhau Bạn ạ. Và kết quả đúng là 210 như bạn Hau151978 đã tình. (Mình cũng gửi file đính kèm).
Còn bài tập với 60 trong 100 số thì mình sẽ áp dụng công thức của các bạn để tính xem sao.
Cám ơn các Bạn nhiều.
Nếu thứ tự khác nhau vẫn tính là 1 dãy thì số dãy là tổ hợp chập 60 của 100 phần tử =100!/(60!*40!), kết quả rất lớn chỉ nên dùng toán để tìm. Excel có hàm FACT dùng để tính giai thừa nhưng không rõ có tính được fact(100) không. Bài viết trước mình đã đưa web site tính giai thừa, tính được tới fact(200000). Bạn nào đang ôn thi đại học sẽ giải thích cho bạn rõ.
 
100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
40!= 815915283247897734345611269596115894272000000000
(Theo http://www.nitrxgen.net/factorialcalc.php)
Số các dãy số là 100!/40!

Áp dụng công thức cho 6 trong 10: = 10!/6!.4! = 210.
Công thức cho 60 trong 100: = 100!/60!.40! = 8.247.740.487.481.690.000.000.000.000
Nếu như vậy thì Bài toán với 40 số trong số 100 số thì cũng có kết quả tương tự?
 
Là giống nhau Bạn ạ. Và kết quả đúng là 210 như bạn Hau151978 đã tình. (Mình cũng gửi file đính kèm).
Còn bài tập với 60 trong 100 số thì mình sẽ áp dụng công thức của các bạn để tính xem sao.
Cám ơn các Bạn nhiều.

Vấn đề là ở chỗ bạn không biết diễn đạt vấn đê của chính mình.
Với tôi đã là DÃY thì 1, 2, 3 khác với 2, 1, 3. Vì đã là DÃY thì có số trước, số sau - có thứ tự. Theo tôi bạn Hau151978 hiểu đúng khái niệm DÃY. Nếu DÃY 1, 2, 3 và 2, 1, 3 là MỘT thì DÃY 2, 1, 3 cũng là DÃY cấp số cộng ???
Nếu với bạn 1, 2, 3 - 1, 3, 2 - 2, 1, 3 - 2, 3, 1 - 3, 1, 2 - 3, 2, 1 là MỘT thì phải dùng khái niệm NHÓM, TẬP, BỘ.
 
Lần chỉnh sửa cuối:
Áp dụng công thức cho 6 trong 10: = 10!/6!.4! = 210.
Công thức cho 60 trong 100: = 100!/60!.40! = 8.247.740.487.481.690.000.000.000.000
Nếu như vậy thì Bài toán với 40 số trong số 100 số thì cũng có kết quả tương tự?

Tất nhiên rồi.

Nếu bạn không giỏi Toán thì chỉ cần lấy một vd. xem nó thế nào. Mà đã lấy vd. thì chọn số nhỏ vừa đủ để có thể liệt kê hết các số. Lấy vd. với kiểu 40 từ 100 thì bố ai mà liệt kê được. Chỉ còn nước chứng minh mà thôi. Mà đã cm thì làm luôn cho trường hợp tổng quát.

Cho 3 số 1, 2, 3. Bạn hãy liệt kê ra tất cả các bộ 2 số từ 3 số kia. Rồi sau đó hãy liệt kê các bộ 1 số từ 3 số kia.
Nếu vẫn tò mò thì cho 5 số 1, 2, 3, 4, 5. Hãy liệt kê các bộ 3 số. Tiếp theo hãy liệt kê các bộ 2 số.
-------
Nếu chỉ cần chứng minh "số bộ q số và số bộ r số, với q + r = s, lấy từ s số khác nhau từng đôi một là như nhau" thì chả cần biết tới công thức tính tổ hơp.

Khái niệm: Ta xét 1 bộ q số bất kỳ: q1. q2, ..., q_n. Ta gọi bộ r số lấy từ s số bằng cách loại các số q1. q2, ..., q_n là bộ "bổ sung" với bộ q số.

Rõ ràng với mỗi bộ q số có 1 và chỉ 1 bộ r số "bổ sung", và ngược lại. Vậy thì số bộ q số và số bộ r số là như nhau.

Hoặc cách khác:

Gọi k(q) và k(r) là số bộ q số và số bộ r số.
Do mỗi bộ q số có bộ r số "bổ sung" nên k(r) >= k(q). Tương tự có k(q) >= k(r) => k(q) = k(r)
 
Lần chỉnh sửa cuối:
Áp dụng công thức cho 6 trong 10: = 10!/6!.4! = 210.
Công thức cho 60 trong 100: = 100!/60!.40! = 8.247.740.487.481.690.000.000.000.000
Nếu như vậy thì Bài toán với 40 số trong số 100 số thì cũng có kết quả tương tự?
Đúng vậy, tổ hợp chập k của n phần tử cũng bằng tổ hợp chập n-k của n phần tử =n!/k!/(n-k)!. Đây là ví dụ cơ bản trong toán tổ hợp, chắc bạn tốt nghiệp THPT lâu nên quên.
 
Đúng vậy, tổ hợp chập k của n phần tử cũng bằng tổ hợp chập n-k của n phần tử =n!/k!/(n-k)!. Đây là ví dụ cơ bản trong toán tổ hợp, chắc bạn tốt nghiệp THPT lâu nên quên.

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.
 
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.
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
 

File đính kèm

  • Tinh to hop.xls
    22 KB · Đọc: 66
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom