Permutation and Combination in Java



Permutation and Combination are a part of Combinatorics. Permutation is the different arrangements that a set of elements can make if the elements are taken one at a time, some at a time or all at a time. Combination is is the different ways of selecting elements if the elements are taken one at a time, some at a time or all at a time.

An example of this is given as follows −

Permutation = factorial(n) / factorial(n-r); Combination = factorial(n) / (factorial(r) * factorial(n-r)); n = 5 r = 3 Permutation = 60 Combination = 10

A program that demonstrates this is given as follows −

Example

 Live Demo

public class Example {    static int factorial(int n) {       int fact = 1;       int i = 1;       while(i <= n) {          fact *= i;          i++;       }       return fact;    }    public static void main(String args[]) {       int n = 7, r = 3, comb, per;       per = factorial(n) / factorial(n-r);       System.out.println("Permutation: " + per);       comb = factorial(n) / (factorial(r) * factorial(n-r));       System.out.println("Combination: " + comb);    } }

The output of the above program is as follows −

Output

Permutation: 210 Combination: 35

Now let us understand the above program.

The function factorial finds the factorial of the number n using a while loop. Then it returns fact. The code snippet that demonstrates this is given as follows −

static int factorial(int n) {    int fact = 1;    int i = 1;    while(i <= n) {       fact *= i;       i++;    }    return fact; }

In the function main(), the permutation and combination of n and r are found using their respective formulas. Then the results are displayed. The code snippet that demonstrates this is given as follows −

public static void main(String args[]) {    int n = 7, r = 3, comb, per;    per = factorial(n) / factorial(n-r);    System.out.println("Permutation: " + per);    comb = factorial(n) / (factorial(r) * factorial(n-r));    System.out.println("Combination: " + comb); }
Updated on: 2020-06-26T07:04:26+05:30

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements