Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình tính toán giá trị của nCr trong C ++

Cho với n C r, trong đó C đại diện cho tổ hợp, n đại diện cho tổng số và r đại diện cho lựa chọn từ tập hợp, nhiệm vụ là tính giá trị của nCr.

Kết hợp là việc lựa chọn dữ liệu từ các dữ liệu đã cho trong a mà không cần quan tâm đến sự sắp xếp. Hoán vị và tổ hợp khác nhau ở chỗ hoán vị là quá trình sắp xếp trong khi tổ hợp là quá trình lựa chọn các phần tử từ tập hợp đã cho.

Công thức hoán vị là -:

nPr = (n!)/(r!*(n-r)!)

Ví dụ

Input-: n=12 r=4
Output-: value of 12c4 is :495

Thuật toán

Start
Step 1 -> Declare function for calculating factorial
   int cal_n(int n)
   int temp = 1
   Loop for int i = 2 and i <= n and i++
      Set temp = temp * i
   End
   return temp
step 2 -> declare function to calculate ncr
   int nCr(int n, int r)
      return cal_n(n) / (cal_n(r) * cal_n(n - r))
step 3 -> In main()
   declare variable as int n = 12, r = 4
   print nCr(n, r)
Stop

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//it will calculate factorial for n
int cal_n(int n){
   int temp = 1;
   for (int i = 2; i <= n; i++)
      temp = temp * i;
   return temp;
}
//function to calculate ncr
int nCr(int n, int r){
   return cal_n(n) / (cal_n(r) * cal_n(n - r));
}
int main(){
   int n = 12, r = 4;
   cout <<"value of "<<n<<"c"<<r<<" is :"<<nCr(n, r);
   return 0;
}

Đầu ra

value of 12c4 is :495