The formula for nPr is n!/(n-r)! That is what we are going to use here.
import java.util.*;
class Permute
{
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 permutation suffix (r)");
int r=s.nextInt();
long res=1;
if(n>=r)
{
res=getFact(n)/getFact(n-r);
System.out.println("The permutation 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
5
Enter the permutation suffix (r)
2
The permutation is 20
Analysis
n>=r: n cannot be greater than r in case of permuting nPr.
getFact(n)/getFact(n-r): It is nothing but the above formula (n!/(n-r)!).
getFact(int n): The method takes a number and return it's factorial. This is actually discussed in finding the factorial of a number in Java
This is how we can simply permute a number in Java just by knowing the formula.