Open In App

Sum of array elements using recursion

Improve
Improve
Like Article
Like
Save
Share
Report

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
Recommended Practice

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.



Last Updated : 19 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads