Programme Java pour effectuer nCr
Dans ce tutoriel, nous allons apprendre à trouver la valeur de nCr. La valeur nCr donne le nombre de façons, quel que soit l'ordre, de choisir r objets parmi n objets; plus formellement, le nombre de sous-ensembles de r éléments (ou r-combinaisons) d'un ensemble de n éléments. Mais avant d'aller de l'avant, si vous n'êtes pas familier avec le concept de boucles en Java, consultez l'article sur les boucles en Java.
La formule ci-dessous est utilisée pour calculer la valeur nCr.
nCr =(n !)/((n-r) ! * r !)
Saisie : Entrez la valeur de n :5
Entrez la valeur de r :2
Sortie : 5C2 =10
Deux cas se présentent pour le problème ci-dessus :
Cas 1 :lorsque les valeurs sont définies par l'utilisateur
Cas 2 :Lorsque les valeurs sont prédéfinies
Examinons chacun de ces cas séparément.
Programme 1 :Pour trouver la valeur nCr en Java
Dans ce programme, nous trouverons la valeur nCr lorsque les valeurs sont définies par l'utilisateur. Cela signifie que nous demanderons d'abord à l'utilisateur d'entrer les valeurs n et r, puis nous calculerons la valeur nCr à l'aide de la formule. Ici, nous allons utiliser une boucle for pour calculer la factorielle.
Algorithme :
-
Démarrer
-
Déclarez les variables.
-
Demandez à l'utilisateur d'initialiser les variables.
-
Vérifiez s'il est possible de trouver la valeur nCr ou non.
-
Si possible, appelez une méthode pour calculer le nCr.
-
Calculer la factorielle d'un nombre à l'aide d'une boucle for.
-
Trouvez la valeur nCr à l'aide de la formule.
-
Imprimez la valeur nCr.
-
S'il n'est pas possible de calculer la valeur nCr, entrez la valeur de n et r telle que n>=r.
-
Arrêter
L'exemple ci-dessous illustre l'implémentation de l'algorithme ci-dessus.
//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");
}
}
Entrez la valeur de n :5
Entrez la valeur de r :2
Valeur de 5C2=10
Programme 2 :Pour trouver la valeur nCr en Java
Dans ce programme, nous trouverons la valeur nCr lorsque les valeurs sont prédéfinies dans le programme.
Algorithme :
-
Démarrer
-
Déclarez et initialisez les variables.
-
Vérifiez s'il est possible de trouver la valeur nCr ou non.
-
Si possible, appelez une méthode pour calculer le nCr.
-
Calculer la factorielle d'un nombre.
-
Trouvez la valeur nCr à l'aide de la formule.
-
Imprimez la valeur nCr.
-
S'il n'est pas possible de calculer la valeur nCr, entrez la valeur de n et r telle que n>=r.
-
Arrêter
L'exemple ci-dessous illustre l'implémentation de l'algorithme ci-dessus.
//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");
}
}
La valeur saisie de n est :7
La valeur saisie de r est :2
Valeur de 7C2=21
Programme 3 :Pour trouver la valeur nCr en Java
Dans ce programme, nous trouverons la valeur nCr lorsque les valeurs sont définies par l'utilisateur. Cela signifie que nous demanderons d'abord à l'utilisateur d'entrer les valeurs n et r, puis nous calculerons la valeur nCr à l'aide de la formule. Ici, nous allons utiliser une boucle while pour calculer la factorielle.
Algorithme :
-
Démarrer
-
Déclarez les variables.
-
Demandez à l'utilisateur d'initialiser les variables.
-
Vérifiez s'il est possible de trouver la valeur nCr ou non.
-
Si possible, appelez une méthode pour calculer le nCr.
-
Calculer la factorielle d'un nombre à l'aide d'une boucle while.
-
Trouvez la valeur nCr à l'aide de la formule.
-
Imprimer la valeur nCr.
-
S'il n'est pas possible de calculer la valeur nCr, entrez la valeur de n et r telle que n>=r.
-
Arrêter
L'exemple ci-dessous illustre l'implémentation de l'algorithme ci-dessus.
//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");
}
}
Entrez la valeur de n :8
Entrez la valeur de r :3
La valeur de 8c3 est :56,0