Cách trích xuất ra tập con gồm n phần tử trong 500 phần tử cho sẵn, làm sao để có được tất cả trường hợp

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

thanhhoa1709

Thành viên mới
Tham gia
6/12/10
Bài viết
3
Được thích
0
Kính chào anh/chị,
Em có 1 bài toán mà không biết sử dụng công cụ gì để làm. Em có danh mục gồm 500 cổ phiếu, làm sao em có thể lấy được tất cả các tập hợp con gồm n cổ phiếu trong đó. Số lượng phần tử trong tập con em cần lấy là từ 2 đến 499, và phải lấy được tất cả trường hợp. Anh/chị có biết công cụ nào không ạ?
Em rất mong anh/chị có thể chia sẻ thông tin
 
Có công cụ gọi là Excel.
Cụ thể thế nào đưa file lên nhé.
 
Có công cụ gọi là Excel.
Cụ thể thế nào đưa file lên nhé.
Dạ em gửi file đính kèm ạ, cụ thể là em cần trích kết quả trong sheet Ket qua 2-5, hiện em đang làm rất thủ công, nhưng em gặp phải vấn đề là:
Thứ nhất, nếu làm bằng tay thì quá mất thời gian và có thể không liệt kê được hết tất cả trường hợp
Thứ hai, số lượng hàng trong excel cũng không đủ để chứa hết các trường hợp này
 

File đính kèm

  • BAI TOAN TRICH DANH MUC CO PHIEU.xlsx
    31.6 KB · Đọc: 5
Kính chào anh/chị,
Em có 1 bài toán mà không biết sử dụng công cụ gì để làm. Em có danh mục gồm 500 cổ phiếu, làm sao em có thể lấy được tất cả các tập hợp con gồm n cổ phiếu trong đó. Số lượng phần tử trong tập con em cần lấy là từ 2 đến 499, và phải lấy được tất cả trường hợp. Anh/chị có biết công cụ nào không ạ?
Em rất mong anh/chị có thể chia sẻ thông tin
Có lẽ đây là bài liệt kê tổ hợp chập k của n phần tử. Excel có hàm COMBIN() để đếm số lượng của tổ hợp.
Với n=500, k=250 -> COMBIN(500,250)= 1.1674E+149, excel chắc là chứa không nổi
 
Có lẽ đây là bài liệt kê tổ hợp chập k của n phần tử. Excel có hàm COMBIN() để đếm số lượng của tổ hợp.
Với n=500, k=250 -> COMBIN(500,250)= 1.1674E+149, excel chắc là chứa không nổi
Dạ đúng rồi ạ, nên em không biết là có công cụ gì khác có thể giúp em làm chuyện này không
 
Dạ đúng rồi ạ, nên em không biết là có công cụ gì khác có thể giúp em làm chuyện này không
Giả sử thực hiện được việc này, bạn có cần thiết phải sử dụng tất cả các trường hợp, hay là chọn lọc một số tổ hợp theo tiêu chí nào đó?
 
Nếu làm được thì lưu vào đâu?
Tính dung lượng theo các thấp nhất cho dể hình dung

Với n=500, k=250 -> COMBIN(500,250)= 1.1674E+149 > 10^149
1 ký tự cần 1 byte, 1 dòng kết quả là 1 tổ hợp 250 số, cần > 250*2 = 500 byte cho 1 khả năng
Qui đổi sang Gigabyte, dung lương lưu trử > (500*10^149) / 10^9 =500* 10^140 gigabyte
 
Nếu làm được thì lưu vào đâu?
Tính dung lượng theo các thấp nhất cho dể hình dung

Với n=500, k=250 -> COMBIN(500,250)= 1.1674E+149 > 10^149
1 ký tự cần 1 byte, 1 dòng kết quả là 1 tổ hợp 250 số, cần > 250*2 = 500 byte cho 1 khả năng
Qui đổi sang Gigabyte, dung lương lưu trử > (500*10^149) / 10^9 =500* 10^140 gigabyte
Trong 500 số chí có 10 số 1 ký tự, 90 số 2 ký tự, còn lại là 3 ký tự.
Trung bình một tổ hợp 250/500 số chiếm 250*2,78 ký tự. Gần 700 bytes.

Thớt hình như chưa biết tầm cỡ của toán tổ hợp.
 
Nếu làm được thì lưu vào đâu?
Tính dung lượng theo các thấp nhất cho dể hình dung

Với n=500, k=250 -> COMBIN(500,250)= 1.1674E+149 > 10^149
1 ký tự cần 1 byte, 1 dòng kết quả là 1 tổ hợp 250 số, cần > 250*2 = 500 byte cho 1 khả năng
Qui đổi sang Gigabyte, dung lương lưu trử > (500*10^149) / 10^9 =500* 10^140 gigabyte
"1 ký tự cần 1 byte" cái này có chắc không vậy
 
"1 ký tự cần 1 byte" cái này có chắc không vậy
Trước đây 1 ký tự dùng 1 byte, nhưng 1 byte chỉ biểu diễn được 256 ký tự nên sẽ có sự dùng chung mã của những dạng ngôn ngữ khác nhau và một số ký tự đặc biệt phải dùng 2 byte, sau nầy font unicode dùng 2 byte có thể biểu diễn 2^16 ký tự
 
1 ký tự chữ số theo tiêu chuẩn ANSI, không cần tới Unicode hay các loại gì khác. Nên chỉ cần 1 byte.
"0" = 48 .... "9" = 57
1 byte diễn đạt tới ký tự 255
1 byte theo ASCII tiêu chuẩn diễn đạt tới 127.

Tuy nhiên, nếu đưa vào các phần mềm nén là chuyện khác.
 
Web KT
Back
Top Bottom