C Program to Calculate Permutation (nPr) and Combination (nCr)
Below is a program to calculate nPr
and nCr
.
Global declaration scope is within the complete program.
Local declarations scope is limited to the function only.
#include<stdio.h>
// function prototype declarations
long factorial(int);
long find_npr(int, int);
long find_ncr(int, int);
int main()
{
printf("\n\n\t\tStudytonight - Best place to learn\n\n\n");
int n, r;
long npr, ncr;
printf("Enter the value of n and r respectively: \n\n");
scanf("%d%d", &n, &r);
// function calls
npr = find_npr(n, r);
ncr = find_ncr(n, r);
printf("\n\n\n\t\t%dC%d = %ld\n", n, r, ncr);
printf("\n\n\t\t%dP%d = %ld\n", n, r, npr);
printf("\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
/*
function definition for nCr
*/
long find_ncr(int a, int b)
{
return (factorial(a)/(factorial(b)*factorial(a-b)));
}
/*
function definition for nPr
*/
long find_npr(int a, int b)
{
return (factorial(a)/factorial(a-b));
}
/*
recursive function definition for finding
factorial of a number
*/
long factorial(int c)
{
if(c == 1 || c == 0)
return 1;
else
return c*factorial(c-1);
}
Output: