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:
-
Start
-
Opret en forekomst af scannerklassen.
-
Deklarer en variabel for at gemme længden af arrayet.
-
Bed brugeren om at initialisere array-størrelsen.
-
Erklære en variabel til at gemme array-elementerne.
-
Bed brugeren om at initialisere array-elementerne.
-
Kald en rekursiv funktion for at beregne summen.
-
Betragt længdevariablen som den skiftende parameter i funktionen.
-
Kald funktionen rekursivt for at beregne summen.
-
Vis den beregnede sum.
-
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:
-
Start
-
Opret en forekomst af scannerklassen.
-
Deklarer en variabel for at gemme længden af arrayet.
-
Bed brugeren om at initialisere array-størrelsen.
-
Erklære en variabel til at gemme array-elementerne.
-
Bed brugeren om at initialisere array-elementerne.
-
Kald en rekursiv funktion for at beregne summen.
-
Start rekursionen fra fremadgående retning.
-
Kald funktionen rekursivt for at beregne summen.
-
Vis den beregnede sum.
-
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