Given an array of integers, find sum of array elements using recursion.
Examples:
Input : A[] = {1, 2, 3} Output : 6 1 + 2 + 3 = 6 Input : A[] = {15, 12, 13, 10} Output : 50
We have discussed iterative solution in below post.
Sum of elements in a given array
In this post, recursive solution is discussed.
C++
// C++ program to find sum of array // elements using recursion. #include <stdio.h> // Return sum of elements in A[0..N-1] // using recursion. int findSum( int A[], int N)
{ if (N <= 0)
return 0;
return (findSum(A, N - 1) + A[N - 1]);
} // Driver code int main()
{ int A[] = { 1, 2, 3, 4, 5 };
int N = sizeof (A) / sizeof (A[0]);
printf ( "%d" , findSum(A, N));
return 0;
} |
Java
// Java program to find sum of array // elements using recursion. public class Test {
static int arr[] = { 1 , 2 , 3 , 4 , 5 };
// Return sum of elements in A[0..N-1]
// using recursion.
static int findSum( int A[], int N)
{
if (N <= 0 )
return 0 ;
return (findSum(A, N - 1 ) + A[N - 1 ]);
}
// Driver method
public static void main(String[] args)
{
System.out.println(findSum(arr, arr.length));
}
} |
Python3
# Python program to find sum of array # elements using recursion. # Return sum of elements in A[0..N-1]
# using recursion.
def _findSum(arr, N):
if N < = 0 :
return 0
else :
return _findSum(arr, N - 1 ) + arr[N - 1 ]
# driver code arr = []
# input values to list arr = [ 1 , 2 , 3 , 4 , 5 ]
# calculating length of array N = len (arr)
ans = _findSum(arr,N)
print (ans)
# This code is contributed by Khare Ishita |
C#
// C# program to find sum of array // elements using recursion. using System;
class Test {
static int []arr = {1, 2, 3, 4, 5};
// Return sum of elements in
// A[0..N-1] using recursion.
static int findSum( int []A, int N)
{
if (N <= 0)
return 0;
return (findSum(A, N - 1) + A[N - 1]);
}
// Driver Code
public static void Main()
{
Console.Write(findSum(arr, arr.Length));
}
} // This code is contributed by Nitin Mittal. |
PHP
<?php // PHP program to find sum // of array elements using // recursion. // Return sum of elements // in A[0..N-1] using recursion. function findSum( $A , $N )
{ if ( $N <= 0)
return 0;
return (findSum( $A , $N - 1) +
$A [ $N - 1]);
} // Driver code $A = array (1, 2, 3, 4, 5);
$N = sizeof( $A );
echo findSum( $A , $N );
// This code is contributed // by ihritik ?> |
Javascript
<script> // JavaScript program to find sum of array // elements using recursion. // Return sum of elements in A[0..N-1] // using recursion. function findSum(A, N) {
if (N <= 0)
return 0;
return (findSum(A, N - 1) + A[N - 1]);
} // Driver code let A = [1, 2, 3, 4, 5]; let N = A.length; document.write(findSum(A, N)); </script> |
Output
15
Time Complexity; O(n)
Here n is the number of elements in the array.
Auxiliary Space: O(n)
The extra space is used in recursion call stack.
How does above recursive solution work?
This article is contributed by
Prakhar Agrawal.