Open In App

Average of odd numbers till a given odd number

Improve
Improve
Like Article
Like
Save
Share
Report

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

 



Last Updated : 08 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads