Open In App
Related Articles

Average of odd numbers till a given odd number

Improve Article
Improve
Save Article
Save
Like Article
Like

Given an odd number n, find the average of odd numbers from 1 to n.
Examples: 
 

Input : n = 9
Output : 5
Explanation
(1 + 3 + 5 + 7 + 9)/5 
= 25/5 
= 5

Input : n = 221
Output : 111

 

Method 1 We can calculate average by adding each odd numbers till n and then dividing sum by count.
Below is the implementation of the approach. 
 

C




// Program to find average of odd numbers
// till a given odd number.
#include <stdio.h>
 
// Function to calculate the average
// of odd numbers
int averageOdd(int n)
{
    if (n % 2 == 0) {
        printf("Invalid Input");
        return -1;
    }
 
    int sum = 0, count = 0;
    while (n >= 1) {
 
        // count odd numbers
        count++;
 
        // store the sum of odd numbers
        sum += n;
 
        n = n - 2;
    }
    return sum / count;
}
 
// driver function
int main()
{
    int n = 15;
    printf("%d", averageOdd(n));
    return 0;
}


Java




// Program to find average of odd numbers
// till a given odd number.
import java.io.*;
 
class GFG {
 
    // Function to calculate the average
    // of odd numbers
    static int averageOdd(int n)
    {
        if (n % 2 == 0) {
            System.out.println("Invalid Input");
            return -1;
        }
 
        int sum = 0, count = 0;
        while (n >= 1) {
 
            // count odd numbers
            count++;
 
            // store the sum of odd numbers
            sum += n;
 
            n = n - 2;
        }
        return sum / count;
    }
 
    // driver function
    public static void main(String args[])
    {
        int n = 15;
        System.out.println(averageOdd(n));
    }
}
 
/*This code is contributed by Nikita tiwari.*/


Python3




# Program to find average
# of odd numbers till a
# given odd number.
 
# Function to calculate
# the average of odd
# numbers
 
 
def averageOdd(n):
 
    if (n % 2 == 0):
        print("Invalid Input")
        return -1
 
    sm = 0
    count = 0
 
    while (n >= 1):
 
        # count odd numbers
        count = count + 1
 
        # store the sum of
        # odd numbers
        sm = sm + n
 
        n = n - 2
 
    return sm // count
 
 
# Driver function
n = 15
print(averageOdd(n))
 
# This code is contributed by Nikita Tiwari.


C#




// C# Program to find average
// of odd numbers till a given
// odd number.
using System;
 
class GFG {
 
    // Function to calculate the
    // average of odd numbers
    static int averageOdd(int n)
    {
        if (n % 2 == 0) {
            Console.Write("Invalid Input");
            return -1;
        }
 
        int sum = 0, count = 0;
        while (n >= 1) {
 
            // count odd numbers
            count++;
 
            // store the sum of odd numbers
            sum += n;
 
            n = n - 2;
        }
        return sum / count;
    }
 
    // driver function
    public static void Main()
    {
        int n = 15;
        Console.Write(averageOdd(n));
    }
}
 
/*This code is contributed by vt_m.*/


PHP




<?php
// Program to find average of odd
// numbers till a given odd number.
 
// Function to calculate the
// average of odd numbers
function averageOdd($n)
{
    if ($n % 2 == 0)
    {
        echo("Invalid Input");
        return -1;
    }
 
    $sum = 0;
    $count = 0;
    while ($n >= 1)
    {
 
        // count odd numbers
        $count++;
 
        // store the sum of
        // odd numbers
        $sum += $n;
 
        $n = $n - 2;
    }
    return $sum / $count;
}
 
    // Driver Code
    $n = 15;
    echo(averageOdd($n));
     
// This code is contributed by vt_m.
?>


Javascript




<script>
// Javascript Program to find average of odd numbers
// till a given odd number.
 
    // Function to calculate the average
    // of odd numbers
    function averageOdd( n)
    {
        if (n % 2 == 0)
        {
            document.write("Invalid Input");
            return -1;
        }
 
        let sum = 0, count = 0;
        while (n >= 1) {
 
            // count odd numbers
            count++;
 
            // store the sum of odd numbers
            sum += n;
            n = n - 2;
        }
        return sum / count;
    }
 
    // driver function
    let n = 15;
    document.write(averageOdd(n));
 
// This code is contributed by gauravrajput1
</script>


C++




// Program to find average of odd numbers
// till a given odd number.
#include <iostream>
using namespace std;
 
// Function to calculate the average
// of odd numbers
int averageOdd(int n)
{
    if (n % 2 == 0) {
        cout << "Invalid Input";
        return -1;
    }
 
    int sum = 0, count = 0;
    while (n >= 1) {
 
        // count odd numbers
        count++;
 
        // store the sum of odd numbers
        sum += n;
 
        n = n - 2;
    }
    return sum / count;
}
 
// driver function
int main()
{
    int n = 15;
    cout << " " << averageOdd(n);
    return 0;
}
 
// this code is contributed by shivanisingh.ss2110


Output: 
 

8

Time Complexity: O(n) //since there runs a loop from 0 to (n – 1).

Auxiliary Space: O(1) // since no extra array or data structure is used so the space taken by the algorithm is constant
Method 2 
The average of odd numbers can find out only in single steps 
by using the following formula 
[n + 1 ] / 2 
where n is last odd number.
How does this formula work? 
 

We know there are (n+1)/2 odd numbers till n.  

For example:
There are two odd numbers till 3 and there are
three odd numbers till 5.

Sum of first k odd numbers is k*k 

Sum of odd numbers till n is ((n+1)/2)2

Average of odd numbers till n is (n + 1)/2

Below is the implementation of the approach. 
 

C++




// Program to find average of odd numbers
// till a given odd number.
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate the average
// of odd numbers
int averageOdd(int n)
{
    if (n % 2 == 0) {
        cout << "Invalid Input" << endl;
        return -1;
    }
 
    return (n + 1) / 2;
}
 
// driver function
int main()
{
    int n = 15;
    cout << averageOdd(n) << endl;
    return 0;
}
 
// The code is contributed by Nidhi goel.


C




// Program to find average of odd numbers
// till a given odd number.
#include <stdio.h>
 
// Function to calculate the average
// of odd numbers
int averageOdd(int n)
{
    if (n % 2 == 0) {
        printf("Invalid Input");
        return -1;
    }
 
    return (n + 1) / 2;
}
 
// driver function
int main()
{
    int n = 15;
    printf("%d", averageOdd(n));
    return 0;
}


Java




// Program to find average of odd
// numbers till a given odd number.
import java.io.*;
 
class GFG
{
    // Function to calculate the
    // average of odd numbers
    static int averageOdd(int n)
    {
        if (n % 2 == 0)
        {
            System.out.println("Invalid Input");
            return -1;
        }
     
        return (n + 1) / 2;
    }
     
    // driver function
    public static void main(String args[])
    {
        int n = 15;
        System.out.println(averageOdd(n));
    }
}
 
// This code is contributed by Nikita tiwari.


Python3




# Program to find average of odd
# numbers till a given odd number.
 
# Function to calculate the
# average of odd numbers
def averageOdd(n) :
    if (n % 2 == 0) :
        print("Invalid Input")
        return -1
     
     
    return (n + 1) // 2
     
# driver function
n = 15
print(averageOdd(n))
 
 
 
# This code is contributed by Nikita tiwari.


C#




// C# Program to find average
// of odd numbers till a given
// odd number.
using System;
 
class GFG
{
    // Function to calculate the
    // average of odd numbers
    static int averageOdd(int n)
    {
        if (n % 2 == 0)
        {
            Console.Write("Invalid Input");
            return -1;
        }
     
        return (n + 1) / 2;
    }
     
    // driver function
    public static void Main()
    {
        int n = 15;
        Console.Write(averageOdd(n));
    }
}
 
// This code is contributed by vt_m.


PHP




<?php
// Program to find average of odd
// numbers till a given odd number.
 
// Function to calculate the
// average of odd numbers
function averageOdd( $n)
{
    if ($n % 2 == 0)
    {
        echo("Invalid Input");
        return -1;
    }
 
    return ($n + 1) / 2;
}
 
    // Driver Code
    $n = 15;
    echo(averageOdd($n));
     
// This code is contributed by vt_m.
?>


Javascript




<script>
 
// javascript Program to find average of odd numbers
// till a given odd number.
 
// Function to calculate the average
// of odd numbers
function averageOdd( n)
{
    if (n % 2 == 0) {
        document.write("Invalid Input");
        return -1;
    }
 
    return (n + 1) / 2;
}
 
// driver function
    let n = 15;
    document.write( averageOdd(n));
     
// This code is contributed by todaysgaurav
 
</script>


Output: 

8

Time complexity: O(1) since performing constant operations

Space Complexity: O(1) since using constant variables

 


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 08 May, 2023
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials