# Average numbers in array

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

 ` `

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.

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.