Open In App
Related Articles

Mean of array using recursion

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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)

 



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