Java >> Java tutorial >  >> Java

Java-program til at finde produktet af to tal ved hjælp af rekursion

I denne vejledning lærer vi, hvordan du finder produktet af to tal ved hjælp af en rekursiv funktion. En rekursiv funktion er en funktion, der kalder sig selv. Men før du går videre, hvis du ikke er bekendt med begrebet indlejrede if-sætninger i java, så tjek artiklen om emnet Betinget erklæring i Java.

Input: Indtast tallet:7

Indtast nummeret:4

Output: Produktet af de to tal er 28.

To tilfælde opstår for ovenstående scenarie:

Tilfælde 1:Når værdierne er foruddefinerede

Tilfælde 2:Når værdierne er brugerdefinerede

Lad os se på eksemplerne på, hvordan man finder produktet af to tal ved hjælp af en rekursiv funktion.

Program 1:Find produktet af to tal ved hjælp af rekursion

I dette program vil vi se, hvordan man finder produktet af to tal ved hjælp af rekursion med foruddefinerede værdier.

Algorithme:

  1. Start
  2. Deklarer to variable.
  3. Bed brugeren om at initialisere disse variabler.
  4. Kald en rekursiv funktion for at finde produktet af disse to tal.
  5. Hvis det første tal er mindre end det andet tal, så skift værdierne.
  6. Find rekursivt det andet tal gange summen af ​​det første tal.
  7. Hvis nogen af ​​dem bliver nul, så returner nul.
  8. Vis resultatet.
  9. Stop.

Eksemplet nedenfor viser, hvordan man finder produktet af to tal ved hjælp af rekursion.

//Java Program to Find the Product of Two Numbers Using Recursion
import java.io.*;
import java.util.*;
  
public class Main 
{
      
    // recursive function to calculate the product of two numbers
    static int findProduct(int num1, int num2)
    {
        // if x is less than y then swap the numbers
        if (num1 < num2)
            return findProduct(num2, num1);
      
        // iteratively calculate y times sum of x
        else if (num2 != 0)
            return (num1 + findProduct(num1, num2 - 1));
      
        // if any of the two numbers is zero return zero
        else
            return 0;
    }
      
    // Driver Code
    public static void main (String[] args)
    {
        int num1 = 7;
        System.out.println("The first entered number is: "+num1); 
        int num2 = 8;
        System.out.println("The second entered number is: "+num2); 
        System.out.print("The product of the two numbers is "); 
        System.out.println(findProduct(num1, num2)); 
    }
}


Det først indtastede tal er:7
Det andet indtastede tal er:8
Produktet af de to tal er 56

Program 2:Find produktet af to tal ved hjælp af rekursion

I dette program vil vi se, hvordan du finder produktet af to tal ved hjælp af rekursion med brugerdefinerede værdier.

Algorithme:

  1. Start
  2. Opret en forekomst af Scanner-klassen.
  3. Deklarer to variable.
  4. Bed brugeren om at initialisere disse variabler.
  5. Kald en rekursiv funktion for at finde produktet af disse to tal.
  6. Hvis det første tal er mindre end det andet tal, så skift værdierne.
  7. Find rekursivt det andet tal gange summen af ​​det første tal.
  8. Hvis begge tal er mindre end 0, returneres produktet af deres absolutte værdier.
  9. Hvis nogen af ​​dem bliver nul, så returner nul.
  10. Vis resultatet.
  11. Stop.

Eksemplet nedenfor viser, hvordan man finder produktet af to tal ved hjælp af rekursion.

//Java Program to Find the Product of Two Numbers Using Recursion
import java.util.*;
  
public class Main 
{
    // recursive function to calculate the product of two numbers
    static int findProduct(int num1, int num2)
    {
         if (num1 > 0 && num2 < 0) 
         {
             return findProduct(num2, num1);
         }
         // case 2 : both num1 and num2 are less than 0
         // return the product of their absolute values
         else if (num1 < 0 && num2 < 0) 
         {
            return findProduct((-1 * num1), (-1 * num2));
         }
          // if num1 > num2 , swap num1 and num2 
          if (num1 > num2) 
          {
             return findProduct(num2, num1);
          }
      
          else if (num2 != 0) 
          {
             return num1 + findProduct(num1, num2 - 1);
          }
      
         // num1=0 then return 0
         else 
         {
            return 0;
         }
    }
      
    // Driver Code
    public static void main (String[] args)
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the first number"); 
        int num1 = sc.nextInt();
        System.out.println("Enter the second number"); 
        int num2 = sc.nextInt();
        System.out.print("The product of the two numbers is "); 
        System.out.println(findProduct(num1, num2)); 
    }
}


Indtast det første tal:4
Indtast det andet tal:-5
Produktet af de to tal er -20


Java tag