Công cụ này làm gì
Công cụ này lập một bảng tổ hợp lặp, hay còn gọi là hệ số đa tập. Cho trước n loại phần tử khác nhau, công cụ sẽ tính xem có bao nhiêu cách chọn không xét thứ tự với cỡ r, trong đó mỗi loại phần tử có thể được chọn lại bao nhiêu lần tùy ý — cho mọi giá trị nguyên r từ giá trị đầu đến giá trị cuối. Hàm này được ký hiệu là \(H(n, r)\) và bằng hệ số nhị thức \(C(n + r - 1, r)\).
Cách sử dụng
Nhập số loại phần tử khác nhau n (tối thiểu là 1), sau đó nhập giá trị đầu và giá trị cuối của r. Công cụ trả về mỗi giá trị r trên một dòng, kèm theo kết quả chính xác \(H(n, r)\). Vì các con số này tăng cực kỳ nhanh, bộ tính toán dùng số học số nguyên lớn chính xác, nên ngay cả những bảng lớn vẫn tuyệt đối chuẩn xác.
Giải thích công thức
Lập luận kinh điển "sao và vạch" (stars and bars) cho thấy việc chọn r phần tử từ n loại có lặp tương đương với việc xếp r ngôi sao giống nhau vào n ngăn được ngăn cách bởi n − 1 vạch. Số cách sắp xếp n + r − 1 ký hiệu này chính là \(C(n + r - 1, r)\). Có hai trường hợp đặc biệt đáng lưu ý: \(H(n, 0) = 1\) (cách chọn rỗng) và \(H(1, r) = 1\) (chỉ có duy nhất một đa tập gồm r bản sao của phần tử duy nhất).
$$\overline{C}(n, r) = \binom{\text{Items }(n) + r - 1}{r} = \frac{\left(\text{Items} + r - 1\right)!}{r!\,\left(\text{Items} - 1\right)!}$$
Ví dụ minh họa
Lấy n = 5 và r chạy từ 0 đến 4. Ta có \(H(5,0) = C(4,0) = 1\), \(H(5,1) = C(5,1) = 5\), \(H(5,2) = C(6,2) = 15\), \(H(5,3) = C(7,3) = 35\), và \(H(5,4) = C(8,4) = 70\). Vậy bảng kết quả là 1, 5, 15, 35, 70. Kiểm tra thêm một ví dụ nữa:
$$H(30,4) = C(33,4) = \frac{33 \cdot 32 \cdot 31 \cdot 30}{24} = 40920$$Câu hỏi thường gặp
Cái này khác gì so với tổ hợp thông thường? Tổ hợp thông thường \(C(n, r)\) không cho phép lặp; còn ở đây mỗi loại phần tử có thể được chọn nhiều lần, đó là lý do chỉ số trở thành \(n + r - 1\).
Thứ tự có quan trọng không? Không. {A, A, B} là cùng một cách chọn với {B, A, A}. Nếu thứ tự có ý nghĩa thì bạn phải dùng chỉnh hợp lặp (\(n^r\)) thay vì công thức này.
Vì sao kết quả lại lớn đến vậy? Hệ số đa tập tăng xấp xỉ như một đa thức bậc \(n - 1\) theo r, nên n lớn hoặc r lớn sẽ tạo ra những số nguyên cực kỳ khổng lồ — được xử lý chính xác tại đây bằng số học số nguyên lớn.