Dado un número N. La tarea es escribir un programa para encontrar el N-ésimo término en la siguiente serie:
0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8,…..
Ejemplos :
Input : N = 10 Output : 4 Input : N = 7 Output : 6
Al observar detenidamente, encontrará que la serie es una mezcla de 2 series:
- Los términos en posiciones impares en la serie dada forman la serie de números pares en orden creciente a partir de 0. Como, 0,2,4,6,..
- Los términos en posiciones pares en la serie dada se derivan del término anterior usando la fórmula (anteriorTérmino/2). Es decir, los términos en posiciones pares son la mitad de su término anterior.
Ahora bien, se sabe que todo término en posición impar forma una serie par a partir de 0 y todo término en posición par es la mitad del término en posición impar anterior.
Por lo tanto, primero verifique si el número de entrada N es par o impar. Si es impar, establezca N=(N/2) + 1 (ya que hay dos series que se ejecutan en paralelo) y encuentre el término N usando la fórmula 2*(N-1) (N-1 porque la serie comienza con 0) .
De manera similar, si N es par, establezca N = N/2, use la fórmula anterior y divida la respuesta por 2.
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to find N-th term // in the series #include <iostream> #include <math.h> using namespace std; // Function to find N-th term // in the series void findNthTerm(int n) { // If n is even if (n % 2 == 0) { n = n / 2; n = 2 * (n - 1); cout << n / 2 << endl; } // If n is odd else { n = (n / 2) + 1; n = 2 * (n - 1); cout << n << endl; } } // Driver code int main() { int X = 10; findNthTerm(X); X = 7; findNthTerm(X); return 0; }
Java
// Java program to find N-th term // in the series // Function to find N-th term // in the series class GFG { static void findNthTerm(int n) { // If n is even if (n % 2 == 0) { n = n / 2; n = 2 * (n - 1); System.out.println(n / 2); } // If n is odd else { n = (n / 2) + 1; n = 2 * (n - 1); System.out.println(n); } } // Driver code public static void main(String args[]) { int X = 10; findNthTerm(X); X = 7; findNthTerm(X); } } // This code is contributed by Subhadeep
Python 3
# Python 3 program to find N-th term # in the series # Function to find N-th term # in the series def findNthTerm(n): # If n is even if (n % 2 == 0): n = n // 2 n = 2 * (n - 1) print( n // 2) # If n is odd else: n = (n // 2) + 1 n = 2 * (n - 1) print(n) # Driver code if __name__ == "__main__": X = 10 findNthTerm(X); X = 7; findNthTerm(X)
C#
// C# program to find N-th term // in the series using System; // Function to find N-th term // in the series class GFG { static void findNthTerm(int n) { // If n is even if (n % 2 == 0) { n = n / 2; n = 2 * (n - 1); Console.Write(n / 2); } // If n is odd else { n = (n / 2) + 1; n = 2 * (n - 1); Console.Write(n); } } // Driver code public static void Main() { int X = 10; findNthTerm(X); Console.Write("\n"); X = 7; findNthTerm(X); } } // This code is contributed // by Smitha
PHP
<?php // PHP program to find N-th // term in the series // Function to find N-th // term in the series function findNthTerm($n) { // If $n is even if ($n % 2 == 0) { $n = $n / 2; $n = 2 * ($n - 1); echo $n / 2 . "\n"; } // If $n is odd else { $n = (int)($n / 2) + 1; $n = 2 * ($n - 1); echo $n . "\n"; } } // Driver code $X = 10; findNthTerm($X); $X = 7; findNthTerm($X); // This code is contributed // by ChitraNayal ?>
Javascript
<script> // JavaScript program to find N-th term // in the series // Function to find N-th term // in the series function findNthTerm(n) { // If n is even if (n % 2 == 0) { n = Math.floor(n / 2); n = 2 * (n - 1); document.write(Math.floor(n / 2) + "<br>"); } // If n is odd else { n = Math.floor(n / 2) + 1; n = 2 * (n - 1); document.write(n + "<br>"); } } // Driver code let X = 10; findNthTerm(X); X = 7; findNthTerm(X); // This code is contributed by Surbhi Tyagi </script>
4 6
Complejidad de tiempo: O(1), el código se ejecutará en un tiempo constante.
Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA