This lets you find no. of combinations in java using the standard nCr forumla. This is a simple logic.
The formula of nCr is n!/(n-r)!r!
Also see Permuting a number in Java using formula
The formula of nCr is n!/(n-r)!r!
import java.util.*;
class FindCombination
{
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
System.out.println("Enter the value of n");
int n=s.nextInt();
System.out.println("Enter the combination suffix (r)");
int r=s.nextInt();
long res=1;
if(n>=r)
{
res=getFact(n)/(getFact(n-r)*getFact(r));
System.out.println("The result is "+res);
}
else System.out.println("r cannot be greater than n");
}
public static long getFact(int n)
{
long f=1;
for(int i=n;i>=1;i--)
{
f*=i;
}
return f;
}
}
Sample Output
Enter the value of n
7
Enter the combination suffix (r)
2
The result is 21
Analysis
n>=r: n cannot be greater than the suffix r in a combination.
getFact(n)/(getFact(n-r)*getFact(r)): This is the formula n!/((n-r)!.r!).
getFact() method has been explained in finding the factorial of a number in Java post.
This is the way in which we can calculate the number of combinations nCr is calculated provided the value of n and r.