Java >> Java tutorial >  >> Java

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:

  1. Start

  2. Deklarer variablerne.

  3. Bed brugeren om at initialisere variablerne.

  4. Tjek om det er muligt at finde nCr-værdien eller ej.

  5. Hvis det er muligt, så kald en metode til at beregne nCr.

  6. Beregn fakultetet af et tal ved hjælp af en for-løkke.

  7. Find nCr-værdien ved hjælp af formlen.

  8. Prit nCr-værdien.

  9. Hvis det ikke er muligt at beregne nCr-værdien, skal du indtaste værdien af ​​n og r, således at n>=r.

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

  1. Start

  2. Deklarer og initialiser variablerne.

  3. Tjek om det er muligt at finde nCr-værdien eller ej.

  4. Hvis det er muligt, så kald en metode til at beregne nCr.

  5. Beregn fakultetet af et tal.

  6. Find nCr-værdien ved hjælp af formlen.

  7. Prit nCr-værdien.

  8. Hvis det ikke er muligt at beregne nCr-værdien, skal du indtaste værdien af ​​n og r, således at n>=r.

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

  1. Start

  2. Deklarer variablerne.

  3. Bed brugeren om at initialisere variablerne.

  4. Tjek om det er muligt at finde nCr-værdien eller ej.

  5. Hvis det er muligt, så kald en metode til at beregne nCr.

  6. Beregn faktortallet for et tal ved hjælp af en while-løkke.

  7. Find nCr-værdien ved hjælp af formlen.

  8. Udskriv nCr-værdien.

  9. Hvis det ikke er muligt at beregne nCr-værdien, skal du indtaste værdien af ​​n og r, således at n>=r.

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


Java tag