Java >> Tutoriel Java >  >> Java

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 :

  1. Démarrer

  2. Déclarez les variables.

  3. Demandez à l'utilisateur d'initialiser les variables.

  4. Vérifiez s'il est possible de trouver la valeur nCr ou non.

  5. Si possible, appelez une méthode pour calculer le nCr.

  6. Calculer la factorielle d'un nombre à l'aide d'une boucle for.

  7. Trouvez la valeur nCr à l'aide de la formule.

  8. Imprimez la valeur nCr.

  9. S'il n'est pas possible de calculer la valeur nCr, entrez la valeur de n et r telle que n>=r.

  10. 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 :

  1. Démarrer

  2. Déclarez et initialisez les variables.

  3. Vérifiez s'il est possible de trouver la valeur nCr ou non.

  4. Si possible, appelez une méthode pour calculer le nCr.

  5. Calculer la factorielle d'un nombre.

  6. Trouvez la valeur nCr à l'aide de la formule.

  7. Imprimez la valeur nCr.

  8. S'il n'est pas possible de calculer la valeur nCr, entrez la valeur de n et r telle que n>=r.

  9. 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 :

  1. Démarrer

  2. Déclarez les variables.

  3. Demandez à l'utilisateur d'initialiser les variables.

  4. Vérifiez s'il est possible de trouver la valeur nCr ou non.

  5. Si possible, appelez une méthode pour calculer le nCr.

  6. Calculer la factorielle d'un nombre à l'aide d'une boucle while.

  7. Trouvez la valeur nCr à l'aide de la formule.

  8. Imprimer la valeur nCr.

  9. S'il n'est pas possible de calculer la valeur nCr, entrez la valeur de n et r telle que n>=r.

  10. 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


Balise Java