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)