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

Chương trình tính giá trị nCr (tổ hợp) trong C++

Cho nCr (tổ hợp chập r của n), tính giá trị. Tổ hợp là chọn r phần tử từ n phần tử không quan tâm thứ tự.

Công thức: nCr = n! / (r! × (n-r)!)

Ví dụ

Input: n=12, r=4
Output: 12C4 = 495

Thuật toán

BẮT ĐẦU
    Hàm giaiThua(int n)
        temp = 1
        Với i=2..n: temp *= i
        Trả về temp
    Hàm nCr(int n, int r)
        Trả về giaiThua(n) / (giaiThua(r) * giaiThua(n-r))
    main()
        n=12, r=4
        In nCr(n,r)
KẾT THÚC

Ví dụ mã C++

#include <bits/stdc++.h>
using namespace std;

int giaiThua(int n){
    int temp = 1;
    for (int i = 2; i <= n; i++)
        temp = temp * i;
    return temp;
}

int nCr(int n, int r){
    return giaiThua(n) / (giaiThua(r) * giaiThua(n - r));
}

int main(){
    int n = 12, r = 4;
    cout << "Giá trị " << n << "C" << r << " là: " << nCr(n, r);
    return 0;
}

Kết quả đầu ra

Giá trị 12C4 là: 495