< Back to forum

finding average of an array having large elements

i want to find average  of an array of size n (say,,, n = 10^5) having elements of the order 10^9,,,(1<a[i]<10^9)

is there any possible solution in c++ except that we break it in many smaller arrays and calculate their averages.....

 

Asked by: Abhishek_Chaudhary on April 7, 2019, 6:34 p.m. Last updated on April 7, 2019, 6:34 p.m.


Enter your answer details below:


Enter your comment details below:




1 Answer(s)

avatar

in worst case:
n=10^5
and all a[i]=10^9

then sum of all array elements= (10^9 + 10^9 + .....(10^5 times))

                                                  =10^9 * 10^5

                                                  =10^14      

this sum will easily fit in long long int.

long long sum=0;
for(i=0;i<n;i++)
 sum+=arr[i];

double average=(sum*1.0)/n;

complexity: O(n)

 

Shubham_Kumar_Gupta last updated on April 7, 2019, 6:34 p.m. 0    Reply    Upvote   

Instruction to write good question
  1. 1. Write a title that summarizes the specific problem
  2. 2. Pretend you're talking to a busy colleague
  3. 3. Spelling, grammar and punctuation are important!

Bad: C# Math Confusion
Good: Why does using float instead of int give me different results when all of my inputs are integers?
Bad: [php] session doubt
Good: How can I redirect users to different pages based on session data in PHP?
Bad: android if else problems
Good: Why does str == "value" evaluate to false when str is set to "value"?

Refer to Stack Overflow guide on asking a good question.