# ncr program in C++ | npr program in C++

## Program to find NcR NpR

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

Therefore, NPR= NCR*r!

Where C stands for Combinations, and P stands for permutation.

### Algorithm

1. Prompt the user to input values for `n` and `r` using the `cout` and `cin` functions.
2. Create a function called `factorial` that takes an integer argument and returns a long int. Inside the function, use a loop to iterate over the range of values from 2 to the input argument, and calculate the factorial using a local variable.
3. In the main function, use the `factorial` function to calculate `ncr` as `factorial(n) / (factorial(r) * factorial(n - r))`, and `npr` as `ncr * factorial(r)`.
4. Print the values of `ncr` and `npr`.

Code

``````#include <iostream>

long int factorial(int y) {
int i, fact = 1;
for (i = 2; i <= y; i++) {
fact = fact * i;
}
return fact;
}

int main() {
int n, r;
long int ncr, npr;

std::cout << "Enter the value of n: ";
std::cin >> n;

std::cout << "Enter the value of r: ";
std::cin >> r;

npr = factorial(n) / factorial(n - r);
ncr = npr / factorial(r);

std::cout << "NCR value = " << ncr << std::endl;
std::cout << "NPR value = " << npr << std::endl;

return 0;
}

``````

Output

``````Enter the value of n: 5
Enter the value of r: 2

NCR value = 10
NPR value = 20

``````