Given a Number n then find the Average of first n odd numbers
1 + 3 + 5 + 7 + 9 +………….+ (2n – 1)
Examples :
Input : 5 Output : 5 (1 + 3 + 5 + 7 + 9)/5 = 5 Input : 10 Output : 10 (1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19)/10 =10
Method 1 ( Naive Approach:)
A simple solution is to iterate loop from 1 to n time. Through sum of all odd numbers and divided by n.This solution take O(N) time.
C++
// A C++ program to find average of // sum of first n odd natural numbers. #include <iostream> using namespace std; // Returns the Avg of // first n odd numbers int avg_of_odd_num( int n) { // sum of first n odd number int sum = 0; for ( int i = 0; i < n; i++) sum += (2 * i + 1); // Average of first // n odd numbers return sum / n; } // Driver Code int main() { int n = 20; cout << avg_of_odd_num(n); return 0; } |
Java
// Java program to find average of // sum of first n odd natural numbers. import java.io.*; class GFG { // Returns the Avg of // first n odd numbers static int avg_of_odd_num( int n) { // sum of first n odd number int sum = 0 ; for ( int i = 0 ; i < n; i++) sum += ( 2 * i + 1 ); // Average of first // n odd numbers return sum / n; } // Driver Code public static void main(String[] args) { int n = 20 ; avg_of_odd_num(n); System.out.println(avg_of_odd_num(n)); } } // This code is contributed by vt_m |
Python3
# A Python 3 program # to find average of # sum of first n odd # natural numbers. # Returns the Avg of # first n odd numbers def avg_of_odd_num(n) : # sum of first n odd number sum = 0 for i in range ( 0 , n) : sum = sum + ( 2 * i + 1 ) # Average of first # n odd numbers return sum / / n # Driver Code n = 20 print (avg_of_odd_num(n)) # This code is contributed # by Nikita Tiwari. |
C#
// C# program to find average // of sum of first n odd // natural numbers. using System; class GFG { // Returns the Avg of // first n odd numbers static int avg_of_odd_num( int n) { // sum of first n odd number int sum = 0; for ( int i = 0; i < n; i++) sum += (2 * i + 1); // Average of first // n odd numbers return sum / n; } // Driver code public static void Main() { int n = 20; avg_of_odd_num(n); Console.Write(avg_of_odd_num(n)); } } // This code is contributed by // Smitha Dinesh Semwal |
PHP
<?php // A PHP program to find average of // sum of first n odd natural numbers. // Returns the Avg of // first n odd numbers function avg_of_odd_num( $n ) { // sum of first n odd number $sum = 0; for ( $i = 0; $i < $n ; $i ++) $sum += (2 * $i + 1); // Average of first // n odd numbers return $sum / $n ; } // Driver Code $n = 20; echo (avg_of_odd_num( $n )); // This code is contributed by Ajit. ?> |
Javascript
<script> // javascript program to find average of // sum of first n odd natural numbers. // Returns the Avg of // first n odd numbers function avg_of_odd_num( n) { // sum of first n odd number let sum = 0; for (let i = 0; i < n; i++) sum += (2 * i + 1); // Average of first // n odd numbers return sum / n; } // Driver Code let n = 20; document.write(avg_of_odd_num(n)); // This code is contributed by todaysgaurav </script> |
Output :
20
Time Complexity: O(n)
Auxiliary Space: O(1)
Method 2 (Efficient Approach:)
The idea is the sum of first n odd number is n2, for find the Average of first n odd numbers so it is divide by n, hence formula is n2/n = n. it take O(1) time.
Avg of sum of first N odd Numbers = N
C++
// CPP Program to find the average // of sum of first n odd numbers #include <bits/stdc++.h> using namespace std; // Return the average of sum // of first n odd numbers int avg_of_odd_num( int n) { return n; } // Driver Code int main() { int n = 8; cout << avg_of_odd_num(n); return 0; } |
Java
// java Program to find the average // of sum of first n odd numbers import java.io.*; class GFG { // Return the average of sum // of first n odd numbers static int avg_of_odd_num( int n) { return n; } // Driver Code public static void main(String[] args) { int n = 8 ; System.out.println(avg_of_odd_num(n)); } } // This code is contributed by vt_m |
Python3
# Python 3 Program to # find the average # of sum of first n # odd numbers # Return the average of sum # of first n odd numbers def avg_of_odd_num(n) : return n # Driver Code n = 8 print (avg_of_odd_num(n)) # This code is contributed # by Nikita Tiwari. |
C#
// C# Program to find the average // of sum of first n odd numbers using System; class GFG { // Return the average of sum // of first n odd numbers static int avg_of_odd_num( int n) { return n; } // Driver Code public static void Main() { int n = 8; Console.Write(avg_of_odd_num(n)); } } // This code is contributed by // Smitha Dinesh Semwal |
PHP
<?php // PHP Program to find the average // of sum of first n odd numbers // Return the average of sum // of first n odd numbers function avg_of_odd_num( $n ) { return $n ; } // Driver Code $n = 8; echo (avg_of_odd_num( $n )); // This code is contributed by Ajit. ?> |
Javascript
<script> // javascript Program to find the average // of sum of first n odd numbers // Return the average of sum // of first n odd numbers function avg_of_odd_num(n) { return n; } // Driver Code var n = 8; document.write(avg_of_odd_num(n)); // This code is contributed by gauravrajput1 </script> |
Output :
8
Time Complexity : O(1)
Space Complexity: O(1) since using constant variables
Proof
Sum of first n terms of an A.P.(Arithmetic Progression) = (n/2) * [2*a + (n-1)*d].....(i) where, a is the first term of the series and d is the difference between the adjacent terms of the series. Here, a = 1, d = 2, applying these values to e. q., (i), we get Sum = (n/2) * [2*1 + (n-1)*2] = (n/2) * [2 + 2*n - 2] = (n/2) * (2*n) = n*n = n2 Avg of first n odd numbers = n2/n = n
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!