Java >> Java tutorial >  >> Java

Java-program til at finde summen af ​​N tal ved hjælp af rekursion

I denne vejledning vil vi se, hvordan man finder summen af ​​N tal ved hjælp af rekursion. En rekursiv funktion er en funktion, der kalder sig selv. Men før du går videre, hvis du ikke er bekendt med konceptet med loops i java, så tjek artiklen om Loops in Java.

Input: Indtast tallene:6 7 4 5 3

Output: Summen af ​​alle de indtastede tal er:25

Program 1:Find summen af ​​N tal ved hjælp af rekursion

I dette program vil vi se, hvordan man beregner summen af ​​N tal ved hjælp af rekursion. Her vil vi betragte længdevariablen i funktionen som den skiftende parameter.

Algorithme:

  1. Start

  2. Opret en forekomst af scannerklassen.

  3. Deklarer en variabel for at gemme længden af ​​arrayet.

  4. Bed brugeren om at initialisere array-størrelsen.

  5. Erklære en variabel til at gemme array-elementerne.

  6. Bed brugeren om at initialisere array-elementerne.

  7. Kald en rekursiv funktion for at beregne summen.

  8. Betragt længdevariablen som den skiftende parameter i funktionen.

  9. Kald funktionen rekursivt for at beregne summen.

  10. Vis den beregnede sum.

  11. Stop.

Lad os se på nedenstående eksempel for en bedre forståelse af ovenstående algoritme.

//Java Program to Find Sum of N Numbers Using Recursion
import java.util.*;
  
public class Main 
{
    // recursive function
     public static int calculate_sum(int arr[], int length)
    {
        // base condition - when reached -1 index return 0
        if (length == -1) 
        {
            return 0;
        }
        // Call the function recursively to calculate the sum
        return arr[length] + calculate_sum(arr,length - 1);
        
    }
    //Driver Code
    public static void main(String[] args)
    {
        //Create an instance of the Scanner Class
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the array size: ");
        int n=sc.nextInt();
        int total_sum = 0;
        //Array Creation and Initialization
        int arr[] = new int[n];
        System.out.println("Enter the array elements: ");
        for(int i=0;i<n;i++)
        {
            arr[i]=sc.nextInt();
        }
        // call function to calculate sum
        total_sum = calculate_sum(arr, n-1);
        System.out.println("The total of N numbers is : "+ total_sum);
    }
}


Indtast matrixstørrelsen:5
Indtast matrixelementerne:4 7 6 5 3
Det samlede antal N tal er:25

Program 2:Find summen af ​​N tal ved hjælp af rekursion

I dette program vil vi se, hvordan man beregner summen af ​​N tal ved hjælp af rekursion. Her vil vi starte rekursionen fra fremadgående retning og nå og ramme basistilstanden ved slut-/sidste position.

Algorithme:

  1. Start

  2. Opret en forekomst af scannerklassen.

  3. Deklarer en variabel for at gemme længden af ​​arrayet.

  4. Bed brugeren om at initialisere array-størrelsen.

  5. Erklære en variabel til at gemme array-elementerne.

  6. Bed brugeren om at initialisere array-elementerne.

  7. Kald en rekursiv funktion for at beregne summen.

  8. Start rekursionen fra fremadgående retning.

  9. Kald funktionen rekursivt for at beregne summen.

  10. Vis den beregnede sum.

  11. Stop.

Lad os se på nedenstående eksempel for en bedre forståelse af ovenstående algoritme.

//Java Program to Find Sum of N Numbers Using Recursion
import java.util.*;
  
public class Main 
{
    // recursive function
    public static int calculate_sum(int arr[], int i, int length)
    {
        // base condition - when reached end of the array
        // return 0
        if (i == length) {
            return 0;
        }
        // recursive condition - current element + sum of
        // (n-1) elements
        return arr[i]
         + calculate_sum(arr, i + 1,length);
        
    }
    //Driver Code
    public static void main(String[] args)
    {
        //Create an instance of the Scanner Class
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the array size: ");
        int n=sc.nextInt();
        int total_sum = 0;
        //Array Creation and Initialization
        int arr[] = new int[n];
        System.out.println("Enter the array elements: ");
        for(int i=0;i<n;i++)
        {
            arr[i]=sc.nextInt();
        }
        // call function to calculate sum
        total_sum = calculate_sum(arr,0,n);
        System.out.println("The total of N numbers is : "+ total_sum);
    }
}


Indtast matrixstørrelsen:5
Indtast matrixelementerne:2 6 4 7 8
Det samlede antal N tal er:27


Java tag