# Average of odd numbers till a given odd number

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 `   `// 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

 `= 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

 ``

## C++

 `// Program to find average of odd numbers` `// till a given odd number.` `#include ` `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 ` `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 `   `// 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

 ``

## Javascript

 ``

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!

Previous
Next