Thư viện SciPy cung cấp hàm scipy.special.perm và scipy.special.comb để tính hoán vị và tổ hợp chính xác.
Hoán vị (Permutation) - P(n, k)
Số cách sắp xếp k phần tử từ n phần tử (thứ tự quan trọng).
from scipy.special import perm
# Cú pháp: perm(N, k, exact=True)
my_perm = perm(6, 2, exact=True)
print("Hoán vị P(6,2) =", my_perm) # Output: 30
exact=True trả về số nguyên chính xác (Python int), False trả về float xấp xỉ.
Tổ hợp (Combination) - C(n, k)
Số cách chọn k phần tử từ n phần tử (không quan tâm thứ tự).
from scipy.special import comb
my_comb = comb(6, 2, exact=True)
print("Tổ hợp C(6,2) =", my_comb) # Output: 15
Công thức toán học
- P(n,k) = n! / (n-k)!
- C(n,k) = n! / (k! (n-k)!)
Ứng dụng
Dùng trong xác suất, thống kê, tổ hợp, thuật toán sinh cấu hình.