Product of Array using Recursion
Multiply all elements of an array using recursion.
Sample input
[1, 2, 3, 4]
Sample output
24
Solution
def array_product(arr, i=0):
if i == len(arr):
return 1
return arr[i] * array_product(arr, i + 1)
print(array_product([1, 2, 3, 4]))
function arrayProduct(arr, i = 0) {
if (i === arr.length) return 1;
return arr[i] * arrayProduct(arr, i + 1);
}
console.log(arrayProduct([1, 2, 3, 4]));
public class Main {
static int arrayProduct(int[] arr, int i) {
if (i == arr.length) return 1;
return arr[i] * arrayProduct(arr, i + 1);
}
public static void main(String[] args) {
System.out.println(arrayProduct(new int[]{1, 2, 3, 4}, 0));
}
}
fun arrayProduct(arr: IntArray, i: Int): Int {
if (i == arr.size) return 1
return arr[i] * arrayProduct(arr, i + 1)
}
fun main() {
println(arrayProduct(intArrayOf(1, 2, 3, 4), 0))
}
func arrayProduct(_ arr: [Int], _ i: Int) -> Int {
if i == arr.count { return 1 }
return arr[i] * arrayProduct(arr, i + 1)
}
print(arrayProduct([1, 2, 3, 4], 0))
int arrayProduct(List<int> arr, int i) {
if (i == arr.length) return 1;
return arr[i] * arrayProduct(arr, i + 1);
}
void main() {
print(arrayProduct([1, 2, 3, 4], 0));
}
#include <iostream>
#include <vector>
using namespace std;
int arrayProduct(const vector<int>& arr, int i) {
if (i == (int) arr.size()) return 1;
return arr[i] * arrayProduct(arr, i + 1);
}
int main() {
cout << arrayProduct({1, 2, 3, 4}, 0) << endl;
return 0;
}
#include <stdio.h>
int arrayProduct(int *arr, int n, int i) {
if (i == n) return 1;
return arr[i] * arrayProduct(arr, n, i + 1);
}
int main() {
int arr[] = {1, 2, 3, 4};
printf("%d\n", arrayProduct(arr, 4, 0));
return 0;
}