Dada una secuencia de enteros positivos a1, a2, …, an. Encuentre todos esos índices i tales que el i-ésimo elemento sea igual a la media aritmética de todos los demás elementos (es decir, todos los elementos excepto este).
Ejemplos:
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 <bits/stdc++.h> 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; }
C
// C program to print all such indices such // that the i-th element equals the arithmetic // mean of all other elements #include <stdio.h> // 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; for (int i = 0; i < n; i++) { if ((double)arr[i] == sum) { // counting how many elements // satisfies the condition cnt++; } } printf("%d\n",cnt); for (int i = 0; i < n; i++) { if ((double)arr[i] == sum) { // output the indices. printf("%d ",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; } // This code is contributed by kothvvsaakash.
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
<?php // PHP program to print all such indices // such that the i-th element equals the // arithmetic mean of all other elements // counting how many elements // satisfies the condition. function coun_t($arr, $sum) { $cnt = 0; for ( $i = 0; $i < count($arr); $i++) { if ($arr[$i] == $sum) { $cnt++; } } return $cnt; } // function to find number of elements // satisfying condition and their indexes function averageNumbers($arr, $n, $sum) { $cnt = 0; // calculating average $sum /= $n; // counting how many elements // satisfies the condition. echo coun_t($arr, $sum) . "\n"; for ( $i = 0; $i < $n; $i++) { if ($arr[$i] == $sum) { // output the indices. echo $i . " "; $cnt++; } } } // Driver Code $n = 0; $arr = array( 1, 2, 3, 4, 5 ); $n = count($arr); $sum = 0; $cnt = 0; // sum of the elements of the array for ($i = 0; $i < $n; $i++) { $sum += $arr[$i]; } averageNumbers($arr, $n, $sum); // This code is contributed by // Rajput-Ji ?>
Javascript
<script> // Javascript 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 function averageNumbers(arr, n, sum) { let cnt = 0; // calculating average sum /= n; // counting how many elements // satisfies the condition. document.write(count(arr, sum) + "</br>"); for (let i = 0; i < n; i++) { if (arr[i] == sum) { // output the indices. document.write(i + " "); cnt++; } } } function count(array, sum) { let count = 0; for (let i = 0; i < array.length; i++) { if (array[i] == sum) { count++; } } return count; } // Driver code let n; let arr = [1, 2, 3, 4, 5]; n = arr.length; let sum = 0; // sum of the elements of the array for (let i = 0; i < n; i++) { sum += arr[i]; } averageNumbers(arr, n, sum); // This code is contributed by mukesh07. </script>
1 2
Complejidad de Tiempo: O(n), Espacio Auxiliar: O(1)
Este artículo es una contribución de Sagar Shukla . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA