Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Cách tính tổ hợp và hoán vị trong C++


Tổ hợp (Combination) và hoán vị (Permutation) là một phần của Toán học tổ hợp (Combinatorics). Hoán vị là các sắp xếp khác nhau mà một tập hợp các phần tử có thể tạo thành nếu lấy từng phần tử một, một số phần tử hoặc tất cả các phần tử. Tổ hợp là các cách chọn khác nhau của các phần tử nếu lấy từng phần tử một, một số phần tử hoặc tất cả các phần tử.

Số hoán vị khi có tổng cộng n phần tử và cần sắp xếp r phần tử:

Cách tính tổ hợp và hoán vị trong C++

Số tổ hợp khi có tổng cộng n phần tử và cần chọn r phần tử:

Cách tính tổ hợp và hoán vị trong C++

Chương trình tính tổ hợp và hoán vị trong C++ như sau.

Ví dụ

#include <iostream>
using namespace std;

int fact(int n) {
    if (n == 0 || n == 1)
        return 1;
    else
        return n * fact(n - 1);
}

int main() {
    int n, r, comb, per;
    cout << "Nhập n: ";
    cin >> n;
    cout << "\nNhập r: ";
    cin >> r;
    comb = fact(n) / (fact(r) * fact(n - r));
    cout << "\nTổ hợp: " << comb;
    per = fact(n) / fact(n - r);
    cout << "\nHoán vị: " << per;
    return 0;
}

Kết quả

Nhập n: 5
Nhập r: 3
Tổ hợp: 10
Hoán vị: 60