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