Xin hàm liệt kê tất cả số tổ hợp chuỗi 10 ký tự tạo nên từ hai ký tự A và B

Liên hệ QC
Bạn đừng hiểu lầm, bài toán của mình là: cho một dãy số và 1 tổng là tổng của một vài số trong dãy số đó, cần tìm các số tạo nên tổng đó.
Chính bạn dẫn dăt người ta hiểu lầm. Hai bài toán ấy khác nhau một trời một vực.
Một bên là bài toán Đại số nhị phân (hoàn toàn lô gic 0-1)
Bên kia là bài toán Ba lô (Knapsack problem, bài toán khởi phát thức)
 
Xin cảm ơn công thức của bác rất nhiều ạ!
Bài đã được tự động gộp:


Mình đang làm bị vướng ở phần này nên hỏi phần này, phần này mình hỏi được rồi mình nghĩ phần sau có thể tự làm bạn ạ, cảm ơn bạn :)
Nếu đi thẳng vào vấn đề thì loại đi rất nhiều tổ hợp không thỏa mãn, và có cần đến bài toán tổ hợp hay không nữa.
 
Chính bạn dẫn dăt người ta hiểu lầm. Hai bài toán ấy khác nhau một trời một vực.
Một bên là bài toán Đại số nhị phân (hoàn toàn lô gic 0-1)
Bên kia là bài toán Ba lô (Knapsack problem, bài toán khởi phát thức)

Do cách làm của em có liên quan bác ạ, mục đích em tìm các tổ hợp của 0 và 1 để liệt kê tất cả các trường hợp có thể có, 1 thì tính số hạng đó vào tổng, 0 thì không tính, để xem kết quả nào phù hợp với Tổng cho trước.
 
Tự nhiên quên mất hàm BASE. Dù bài toán đã được dẫn đi hướng khác như vẫn cứ đưa lên, ai áp dụng được gì thì áp dụng:
Mã:
=SUBSTITUTE(SUBSTITUTE(BASE(ROW(A1),2,20),0,"A"),1,"B")
Số 20 là chiều dài chuỗi, thay nó thành bao nhiêu tùy ý
 
Nếu đi thẳng vào vấn đề thì loại đi rất nhiều tổ hợp không thỏa mãn, và có cần đến bài toán tổ hợp hay không nữa.
Vâng do Excel em cũng mới tập tành nên vừa học vừa hỏi vậy bác ạ, vậy có cách nào không cần dùng đến cách liệt kê tổ hợp vậy không bác?
Bài đã được tự động gộp:

Tự nhiên quên mất hàm BASE. Dù bài toán đã được dẫn đi hướng khác như vẫn cứ đưa lên, ai áp dụng được gì thì áp dụng:
Mã:
=SUBSTITUTE(SUBSTITUTE(BASE(ROW(A1),2,20),0,"A"),1,"B")
Số 20 là chiều dài chuỗi, thay nó thành bao nhiêu tùy ý
Toàn công thức hay, cảm ơn bác nhiều ạ!
 
Chính bạn dẫn dăt người ta hiểu lầm. Hai bài toán ấy khác nhau một trời một vực.
Một bên là bài toán Đại số nhị phân (hoàn toàn lô gic 0-1)
Bên kia là bài toán Ba lô (Knapsack problem, bài toán khởi phát thức)
Ý người ta chắc thế này bác ạ. Vd. người ta có 10 (20) số cho trước a1, a2, ..., a10. Người ta muốn chọn ra "vài số" sao cho tổng của chúng bằng số S cho trước. Tức có thể viết:

b1*a1 + b2*a2 + ... + b10*a10 = S, trong đó b1, b2, ..., b10 lấy giá trị 0 hoặc 1. Nếu bx = 0, với x = 1, 2, ..., 10, thì có nghĩa là ax không có mặt trong "vài số" cần tìm.

Người ta bây giờ nhờ giúp liệt kê ra 1024 nhóm 10 ký tự nhị phân. Sau đó tính lần lượt 1024 tổng b1*a1 + b2*a2 + ... + b10*a10 và so sánh với S.

Chỉ là nếu thế thì dụng ý biến 0, 1 thành A, B để làm gì.
 
Vâng do Excel em cũng mới tập tành nên vừa học vừa hỏi vậy bác ạ, vậy có cách nào không cần dùng đến cách liệt kê tổ hợp vậy không bác?
Có bài nói trên kia rồi đó, bạn dùng SOLVER của Excel nhé, và các cách khác, nhưng Solver là đơn giản và nhanh
 
...
Chỉ là nếu thế thì dụng ý biến 0, 1 thành A, B để làm gì.
Tối hôm qua thì nó là dạng phá password Excel.
Hai tiếng đồng hồ sau nó chuyển thành dạng chọn sequence tài xỉu/đen đỏ.
Sáng nay nó thành dạng Knapsack.
Dự là tối nay nó ló ra dạng đánh đề?
 
Tối hôm qua thì nó là dạng phá password Excel.
Hai tiếng đồng hồ sau nó chuyển thành dạng chọn sequence tài xỉu/đen đỏ.
Sáng nay nó thành dạng Knapsack.
Dự là tối nay nó ló ra dạng đánh đề?
Thật thế? Tôi không đọc hết các bài nên không biết.
 
Ý người ta chắc thế này bác ạ. Vd. người ta có 10 (20) số cho trước a1, a2, ..., a10. Người ta muốn chọn ra "vài số" sao cho tổng của chúng bằng số S cho trước. Tức có thể viết:

b1*a1 + b2*a2 + ... + b10*a10 = S, trong đó b1, b2, ..., b10 lấy giá trị 0 hoặc 1. Nếu bx = 0, với x = 1, 2, ..., 10, thì có nghĩa là ax không có mặt trong "vài số" cần tìm.

Người ta bây giờ nhờ giúp liệt kê ra 1024 nhóm 10 ký tự nhị phân. Sau đó tính lần lượt 1024 tổng b1*a1 + b2*a2 + ... + b10*a10 và so sánh với S.

Chỉ là nếu thế thì dụng ý biến 0, 1 thành A, B để làm gì.

Chính xác là bài toán này đó bác, thực chất lúc đầu em không nghĩ ra cái khái niệm 10 ký tự nhị phân đó, mà em hay có thói quen dùng ký tự chữ hơn là ký tự số nên mới chọn A với B đưa vào đề bài, cảm ơn bác và mọi người đã giúp đỡ ạ!
Bài đã được tự động gộp:

Có bài nói trên kia rồi đó, bạn dùng SOLVER của Excel nhé, và các cách khác, nhưng Solver là đơn giản và nhanh

Vâng cảm ơn ý kiến của bác nhiều ạ!
 
Web KT
Back
Top Bottom