Promedio de números impares hasta un número impar dado

Dado un número impar n, encuentre el promedio de números impares de 1 a n.
Ejemplos: 
 

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

Input : n = 221
Output : 111

Método 1 Podemos calcular el promedio sumando cada número impar hasta ny luego dividiendo la suma por el conteo.
A continuación se muestra la implementación del enfoque. 
 

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>

Producción: 
 

8

Complejidad de tiempo: O(n)

Espacio auxiliar: O(1)
Método 2 
El promedio de los números impares puede calcularse solo en pasos individuales 
usando la siguiente fórmula 
[n + 1] / 2 
donde n es el último número impar.
¿Cómo funciona esta fórmula? 
 

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

A continuación se muestra la implementación del enfoque. 
 

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>

Producción: 

8

Complejidad temporal: O(1) desde que se realizan operaciones constantes

Complejidad espacial: O(1) ya que usa variables constantes

Publicación traducida automáticamente

Artículo escrito por vt_m y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *