Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
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
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);
} 