数组中的平均数

给定一个正整数序列a1,a2,…,an。求所有这些索引i,使第i个元素等于所有其他元素(即除此之外的所有元素)的算术平均值。 例如:

null
Input : 5        1 2 3 4 5Output : 1 no. of elements         2 index of elementAverage of 1, 2, 4 & 5 is 3 so the output is single index i.e. 3.Input : 4        50 50 50 50Output : 4 no. of elements         0 1 2 3 index of elementAverage of 50, 50, 50 & 50 is 50 and all the indexes has the same i.e. 50so 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;
}


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 ) . "" ;
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>


输出:

12 

时间复杂性: O(n) 本文由 萨加尔·舒克拉 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享