Java-program til at udføre nCr
I denne tutorial lærer vi, hvordan man finder værdien af nCr. nCr-værdien angiver antallet af måder, uden at tage hensyn til rækkefølgen, som r objekter kan vælges blandt n objekter; mere formelt, antallet af r-element delmængder (eller r-kombinationer) af et n-element sæt. Men før du går videre, hvis du ikke er bekendt med begrebet loops i java, så tjek artiklen om Loops i Java.
Nedenstående formel bruges til at beregne nCr-værdien.
nCr =(n!)/((n-r)! * r!)
Input: Indtast værdien af n:5
Indtast værdien af r:2
Output: 5C2 =10
To tilfælde opstår for ovenstående problem:
Case 1:Når værdierne er brugerdefinerede
Case 2:Når værdierne er foruddefinerede
Lad os se på hver af disse sager separat.
Program 1:For at finde nCr-værdien i Java
I dette program finder vi nCr-værdien, når værdierne er brugerdefinerede. Det betyder, at vi først vil bede brugeren om at indtaste n- og r-værdierne, og derefter vil vi beregne nCr-værdien ved hjælp af formlen. Her vil vi bruge en for-løkke til at beregne faktoren.
Algorithme:
-
Start
-
Deklarer variablerne.
-
Bed brugeren om at initialisere variablerne.
-
Tjek om det er muligt at finde nCr-værdien eller ej.
-
Hvis det er muligt, så kald en metode til at beregne nCr.
-
Beregn fakultetet af et tal ved hjælp af en for-løkke.
-
Find nCr-værdien ved hjælp af formlen.
-
Prit nCr-værdien.
-
Hvis det ikke er muligt at beregne nCr-værdien, skal du indtaste værdien af n og r, således at n>=r.
-
Stop
Nedenstående eksempel illustrerer implementeringen af ovenstående algoritme.
//Java Program to find the nCr
import java.util.*;
public class Main
{
//Method to calculate the nCr value
static int nCr(int n, int r)
{
return fact(n) / (fact(r) * fact(n - r));
}
//Method to calculate the factorial of the number
static int fact(int n)
{
int res = 1;
for (int i = 2; i <= n; i++)
res = res * i;
return res;
}
public static void main(String[] args)
{
//Take input from the variables
//Create instance of the Scanner Class
Scanner sc = new Scanner(System.in);
int n,r; //Declare variables
System.out.println("Enter the value of n :");
n = sc.nextInt(); //Initialize the variables
System.out.println("Enter the value of r :");
r = sc.nextInt(); //Initialize the variables
if(n>=r)
{
//Print the nCr value
System.out.println("Value of "+ n+"C"+r+"= "+nCr(n, r));
}
else
System.out.println("n value should be greater than or equals to r value");
}
}
Indtast værdien af n:5
Indtast værdien af r:2
Værdi af 5C2=10
Program 2:For at finde nCr-værdien i Java
I dette program finder vi nCr-værdien, når værdierne er foruddefineret i programmet.
Algorithme:
-
Start
-
Deklarer og initialiser variablerne.
-
Tjek om det er muligt at finde nCr-værdien eller ej.
-
Hvis det er muligt, så kald en metode til at beregne nCr.
-
Beregn fakultetet af et tal.
-
Find nCr-værdien ved hjælp af formlen.
-
Prit nCr-værdien.
-
Hvis det ikke er muligt at beregne nCr-værdien, skal du indtaste værdien af n og r, således at n>=r.
-
Stop
Nedenstående eksempel illustrerer implementeringen af ovenstående algoritme.
//Java Program to find the nCr
public class Main
{
//Method to calculate the nCr value
static int nCr(int n, int r)
{
return fact(n) / (fact(r) * fact(n - r));
}
//Method to calculate the factorial of the number
static int fact(int n)
{
int res = 1;
for (int i = 2; i <= n; i++)
res = res * i;
return res;
}
public static void main(String[] args)
{
int n=7,r=2; //Declare and initialize the variables
System.out.println("The entered value of n is :"+ n);
System.out.println("The entered value of r is :"+ r);
if(n>=r)
{
//Print the nCr value
System.out.println("Value of "+ n+"C"+r+"= "+nCr(n, r));
}
else
System.out.println("n value should be greater than or equals to r value");
}
}
Den indtastede værdi af n er:7
Den indtastede værdi af r er:2
Værdien af 7C2=21
Program 3:For at finde nCr-værdien i Java
I dette program finder vi nCr-værdien, når værdierne er brugerdefinerede. Det betyder, at vi først vil bede brugeren om at indtaste n- og r-værdierne, og derefter vil vi beregne nCr-værdien ved hjælp af formlen. Her vil vi bruge en while-løkke til at beregne faktoren.
Algorithme:
-
Start
-
Deklarer variablerne.
-
Bed brugeren om at initialisere variablerne.
-
Tjek om det er muligt at finde nCr-værdien eller ej.
-
Hvis det er muligt, så kald en metode til at beregne nCr.
-
Beregn faktortallet for et tal ved hjælp af en while-løkke.
-
Find nCr-værdien ved hjælp af formlen.
-
Udskriv nCr-værdien.
-
Hvis det ikke er muligt at beregne nCr-værdien, skal du indtaste værdien af n og r, således at n>=r.
-
Stop
Nedenstående eksempel illustrerer implementeringen af ovenstående algoritme.
//Java Program to find nCr
import java.util.*;
public class Main
{
//Calculate factorial of the number
static double fact(double n)
{
int i=1;
double fact=1;
while(i<=n)
{
fact=fact*i;
i++;
}
return fact;
}
//Calculate the combination value
static double combination(int n,int r)
{
double com=fact(n)/(fact(n-r)*fact(r));
return com;
}
//Driver Code
public static void main(String arg[])
{
//Take input from the user
//Create an instance of the Scanner class
Scanner sc=new Scanner(System.in);
System.out.println("Enter the value of n : ");
int n=sc.nextInt();
System.out.println("Enter the value of r : ");
int r=sc.nextInt();
//Check whether it is possible to find the nCr value.
if(n>=r)
{
System.out.println("The value of "+n+"c"+r+" is : "
+combination(n,r));
}
else
System.out.println("n value should be greater than or equals to r value");
}
}
Indtast værdien af n:8
Indtast værdien af r:3
Værdien af 8c3 er:56,0