Skip to content
Related Articles
Open in App
Not now

Related Articles

Mean of array using recursion

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 09 Dec, 2022
Improve Article
Save Article

To find the mean of the elements of the array. 

Mean = (Sum of elements of the Array) /
       (Total no of elements in Array)

Examples: 

Input : 1 2 3 4 5
Output : 3

Input : 1 2 3
Output : 2

To find the mean using recursion assume that the problem is already solved for N-1 ie you have to find for n

Sum of first N-1 elements = 
                 (Mean of N-1 elements)*(N-1)

Mean of N elements = (Sum of first N-1 elements + 
                      N-th elements) / (N)

Note : Since array indexing starts from 0, we access N-th element using A[N-1].
 

Implementation:

C++




// Recursive C++ program to find mean of array
#include <iostream>
using namespace std;
 
// Function Definition of findMean function
float findMean(int A[], int N)
{
    if (N == 1)
        return (float)A[N-1];
    else
        return ((float)(findMean(A, N-1)*(N-1) +
                                    A[N-1]) / N);
}
 
// Main Calling Function
int main()
{
    float Mean = 0;
    int A[] = {1, 2, 3, 4, 5};
    int N = sizeof(A)/sizeof(A[0]);
    cout << " "<< findMean(A, N);
    return 0;
}
 
// this code is contributed by shivanisinghss2110

C




// Recursive C program to find mean of array
#include<stdio.h>
 
// Function Definition of findMean function
float findMean(int A[], int N)
{
    if (N == 1)
        return (float)A[N-1];
    else
        return ((float)(findMean(A, N-1)*(N-1) +
                                    A[N-1]) / N);
}
 
// Main Calling Function
int main()
{
    float Mean = 0;
    int A[] = {1, 2, 3, 4, 5};
    int N = sizeof(A)/sizeof(A[0]);
    printf("%.2f\n", findMean(A, N));
    return 0;
}

Java




// Recursive Java program to find mean of array
import java.io.*;
 
class CalcMean
{
    // Function Definition of findMean function
    static float findMean(int A[], int N)
    {
        if (N == 1)
            return (float)A[N-1];
        else
            return ((float)(findMean(A, N-1)*(N-1) +
                                        A[N-1]) / N);
    }
     
    // main Function
    public static void main (String[] args)
    {
        float Mean = 0;
        int A[] = {1, 2, 3, 4, 5};
        int N = A.length;
        System.out.println(findMean(A, N));
    }
}

Python3




# Recursive Python3 program to
# find mean of array
 
# Function Definition of findMean function
def findMean(A, N):
 
    if (N == 1):
        return A[N - 1]
    else:
        return ((findMean(A, N - 1) *
                (N - 1) + A[N - 1]) / N)
 
# Driver Code
Mean = 0
A = [1, 2, 3, 4, 5]
N = len(A)
print(findMean(A, N))
 
# This code is contributed by Anant Agarwal.

C#




// Recursive C# program to find mean of array
using System;
 
class CalcMean
{
    // Function Definition of findMean function
    static float findMean(int []A, int N)
    {
        if (N == 1)
            return (float)A[N - 1];
        else
            return ((float)(findMean(A, N - 1) *
                           (N - 1) + A[N - 1]) / N);
    }
      
    // Driver code
    public static void Main()
    {
        //float Mean = 0;
        int []A = {1, 2, 3, 4, 5};
        int N = A.Length;
        Console.WriteLine(findMean(A, N));
    }
}
 
// This code is contributed by Anant Agarwal.

PHP




<?php
// Recursive PHP program to find mean of array
 
// Function Definition of findMean function
function findMean($A, $N)
{
    if ($N == 1)
        return $A[$N - 1];
    else
        return ((findMean($A, $N - 1) * ($N - 1) +
                          $A[$N - 1]) / $N);
}
 
// Driver Code
$Mean = 0;
$A = array(1, 2, 3, 4, 5);
$N = sizeof($A);
echo findMean($A, $N);
 
// This code is contributed by ajit.
?>

Javascript




<script>
    // Recursive Javascript program to find mean of array
     
    // Function Definition of findMean function
    function findMean(A, N)
    {
        if (N == 1)
            return A[N - 1];
        else
            return ((findMean(A, N - 1) * (N - 1) + A[N - 1]) / N);
    }
     
    // float Mean = 0;
    let A = [1, 2, 3, 4, 5];
    let N = A.length;
    document.write(findMean(A, N));
     
    // This code is contributed by rameshtravel07.
</script>

Output

 3

Time Complexity: O(n)
Auxiliary Space: O(n)

This article is contributed by Prakhar Agrawal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. 


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!