Related Articles

Average numbers in array

• Difficulty Level : Basic
• Last Updated : 25 Mar, 2021

Given a sequence of positive integers a1, a2, …, an. Find all such indexes i such that the i-th element equals the arithmetic mean of all other elements (that is all elements except for this one).
Examples :

```Input : 5
1 2 3 4 5
Output : 1 no. of elements
2 index of element
Average of 1, 2, 4 & 5 is 3 so the
output is single index i.e. 3.

Input : 4
50 50 50 50
Output : 4 no. of elements
0 1 2 3 index of element
Average of 50, 50, 50 & 50 is 50 and
all the indexes has the same i.e. 50
so the output is indexes 1, 2, 3 & 4.```

C++

 `// CPP program to print all such indices such``// that the i-th element equals the arithmetic``// mean of all other elements``#include ``using` `namespace` `std;` `// function to find number of elements``// satisfying condition and their indexes``void` `averageNumbers(``int` `arr[], ``int` `n, ``int` `sum)``{` `    ``int` `cnt = 0;` `    ``// calculating average``    ``sum /= (``double``)n;` `    ``// counting how many elements``    ``// satisfies the condition.``    ``cout << count(arr, arr + n, sum)``         ``<< endl;``    ``for` `(``int` `i = 0; i < n; i++) {``        ``if` `((``double``)arr[i] == sum) {` `            ``// output the indices.``            ``cout << i << ``" "``;``            ``cnt++;``        ``}``    ``}``}` `// Driver code``int` `main()``{``    ``int` `n;``    ``int` `arr[] = { 1, 2, 3, 4, 5 };``    ``n = ``sizeof``(arr) / ``sizeof``(arr[0]);``    ``double` `sum = 0;``    ``int` `cnt = 0;` `    ``// sum of the elements of the array``    ``for` `(``int` `i = 0; i < n; i++) {``        ``sum += (``double``)arr[i];``    ``}``    ``averageNumbers(arr, n, sum);``    ``return` `0;``}`

Java

 `// Java program to print all such indices such``// that the i-th element equals the arithmetic``// mean of all other elements``public` `class` `GFG {` `// function to find number of elements``// satisfying condition and their indexes``    ``static` `void` `averageNumbers(``int` `arr[], ``int` `n, ``int` `sum) {` `        ``int` `cnt = ``0``;` `        ``// calculating average``        ``sum /= (``double``) n;` `        ``// counting how many elements``        ``// satisfies the condition.``        ``System.out.println(count(arr, sum));``        ``for` `(``int` `i = ``0``; i < n; i++) {``            ``if` `((``double``) arr[i] == sum) {` `                ``// output the indices.``                ``System.out.print(i + ``" "``);``                ``cnt++;``            ``}``        ``}``    ``}` `    ``static` `int` `count(``int``[] array, ``int` `sum) {``        ``int` `count = ``0``;``        ``for` `(``int` `i = ``0``; i < array.length; i++) {``            ``if` `(array[i] == sum) {``                ``count++;``            ``}``        ``}``        ``return` `count;``    ``}``// Driver code` `    ``public` `static` `void` `main(String[] args) {``        ``int` `n;``        ``int` `arr[] = {``1``, ``2``, ``3``, ``4``, ``5``};``        ``n = arr.length;``        ``int` `sum = ``0``;``        ``int` `cnt = ``0``;` `        ``// sum of the elements of the array``        ``for` `(``int` `i = ``0``; i < n; i++) {``            ``sum += (``double``) arr[i];``        ``}``        ``averageNumbers(arr, n, sum);` `    ``}` `}``// This code is contributed by 29AjayKumar`

Python3

 `# Python 3 program to print all such indices``# such that the i-th element equals the``# arithmetic mean of all other elements` `# Function to find number of elements``# satisfying condition and their indexes``def` `averageNumbers(arr, n, ``sum``):``    ``cnt ``=` `0` `    ``# calculating average``    ``sum` `/``=` `n` `    ``# counting how many elements``    ``# satisfies the condition.``    ``print``(count(arr, ``sum``))``    ``for` `i ``in` `range``(``0``, n):``        ``if` `(arr[i] ``=``=` `sum``):``            ` `            ``# output the indices.``            ``print``(i, ``" "``)``            ``cnt ``+``=` `1``            ` `def` `count(array, ``sum``):``    ``count ``=` `0``    ``for` `i ``in` `range``(``0``, ``len``(array)):``        ``if` `(array[i] ``=``=` `sum``):``            ``count ``+``=` `1``    ``return` `count``        ` `# Driver code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `0``    ``arr ``=` `[ ``1``, ``2``, ``3``, ``4``, ``5` `]``    ``n ``=` `len``(arr)``    ``sum` `=` `0``    ``cnt ``=` `0` `    ``# sum of the elements of the array``    ``for` `i ``in` `range``(``0``, n):``        ``sum` `+``=` `arr[i]``    ``averageNumbers(arr, n, ``sum``)` `# This code contributed by 29AjayKumar`

C#

 `    ` `// C# program to print all such indices such``// that the i-th element equals the arithmetic``// mean of all other elements``using` `System;``public` `class` `GFG {`` ` `// function to find number of elements``// satisfying condition and their indexes``    ``static` `void` `averageNumbers(``int` `[]arr, ``int` `n, ``int` `sum) {`` ` `        ``int` `cnt = 0;`` ` `        ``// calculating average``        ``sum /=  n;`` ` `        ``// counting how many elements``        ``// satisfies the condition.``        ``Console.WriteLine(count(arr, sum));``        ``for` `(``int` `i = 0; i < n; i++) {``            ``if` `((``double``) arr[i] == sum) {`` ` `                ``// output the indices.``                ``Console.Write(i + ``" "``);``                ``cnt++;``            ``}``        ``}``    ``}`` ` `    ``static` `int` `count(``int``[] array, ``int` `sum) {``        ``int` `count = 0;``        ``for` `(``int` `i = 0; i < array.Length; i++) {``            ``if` `(array[i] == sum) {``                ``count++;``            ``}``        ``}``        ``return` `count;``    ``}``// Driver code`` ` `    ``public` `static` `void` `Main() {``        ``int` `n;``        ``int` `[]arr = {1, 2, 3, 4, 5};``        ``n = arr.Length;``        ``int` `sum = 0;`` ` `        ``// sum of the elements of the array``        ``for` `(``int` `i = 0; i < n; i++) {``            ``sum += arr[i];``        ``}``        ``averageNumbers(arr, n, sum);`` ` `    ``}`` ` `}``// This code is contributed by 29AjayKumar`

PHP

 ``

Javascript

 ``

Output:

```1
2 ```

Time Complexity: O(n)
This article is contributed by Sagar Shukla. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.