C Program find nCr and nPr.



In C programming language, nCr is referred as the combination. nCr is the selection of r objects from a set of n objects, where the order of objects does not matter.

nPr is referred as the permutation. nPr is arrangement of 'r' objects from a set of 'n' objects, which should be in an order or sequence.

Permutations and combinations formulas

The formulas to find the permutation and combination of given numbers in C language are given below −

  • nCr = n!/(r!*(n-r)!)
  • nPr = n!/(n-r)!.

The logic used to find nCr is as follows −

result = factorial(n)/(factorial(r)*factorial(n-r));

The logic used to find nPr is as follows −

result = factorial(n)/factorial(n-r);

Example

Following is the C program to find the permutation and combination of given numbers −

#include <stdio.h>
long factorial(int);
long find_ncr(int, int);
long find_npr(int, int);
int main(){
   int n, r;
   long ncr, npr;
   printf("Enter the value of n and r
");    scanf("%d%d",&n,&r);    ncr = find_ncr(n, r);    npr = find_npr(n, r);    printf("%dC%d = %ld
", n, r, ncr);    printf("%dP%d = %ld
", n, r, npr);    return 0; } long find_ncr(int n, int r) {    long result;    result = factorial(n)/(factorial(r)*factorial(n-r));    return result; } long find_npr(int n, int r) {    long result;    result = factorial(n)/factorial(n-r);    return result; } long factorial(int n) {    int c;    long result = 1;    for (c = 1; c <= n; c++)    result = result*c;    return result; }

Output

When the above program is executed, it produces the following output −

Enter the value of n and r
5 2
5C2 = 10
5P2 = 20
Updated on: 2021-03-26T07:50:25+05:30

17K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements