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