Sum of Array using Recursion

Easy Recursion
Add up the elements of an array using recursion.

Sample input

[1, 2, 3, 4, 5]

Sample output

15

Solution

def array_sum(arr, i=0):
    if i == len(arr):
        return 0
    return arr[i] + array_sum(arr, i + 1)

print(array_sum([1, 2, 3, 4, 5]))
function arraySum(arr, i = 0) {
  if (i === arr.length) return 0;
  return arr[i] + arraySum(arr, i + 1);
}

console.log(arraySum([1, 2, 3, 4, 5]));
public class Main {
    static int arraySum(int[] arr, int i) {
        if (i == arr.length) return 0;
        return arr[i] + arraySum(arr, i + 1);
    }

    public static void main(String[] args) {
        System.out.println(arraySum(new int[]{1, 2, 3, 4, 5}, 0));
    }
}
fun arraySum(arr: IntArray, i: Int): Int {
    if (i == arr.size) return 0
    return arr[i] + arraySum(arr, i + 1)
}

fun main() {
    println(arraySum(intArrayOf(1, 2, 3, 4, 5), 0))
}
func arraySum(_ arr: [Int], _ i: Int) -> Int {
    if i == arr.count { return 0 }
    return arr[i] + arraySum(arr, i + 1)
}

print(arraySum([1, 2, 3, 4, 5], 0))
int arraySum(List<int> arr, int i) {
  if (i == arr.length) return 0;
  return arr[i] + arraySum(arr, i + 1);
}

void main() {
  print(arraySum([1, 2, 3, 4, 5], 0));
}
#include <iostream>
#include <vector>
using namespace std;

int arraySum(const vector<int>& arr, int i) {
    if (i == (int) arr.size()) return 0;
    return arr[i] + arraySum(arr, i + 1);
}

int main() {
    cout << arraySum({1, 2, 3, 4, 5}, 0) << endl;
    return 0;
}
#include <stdio.h>

int arraySum(int *arr, int n, int i) {
    if (i == n) return 0;
    return arr[i] + arraySum(arr, n, i + 1);
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    printf("%d\n", arraySum(arr, 5, 0));
    return 0;
}