Dado un número entero . La tarea es escribir un programa para encontrar el N-ésimo término de la serie dada:
1 + 2 + 6 + 15 + 31 + 56 + ...
Ejemplos :
Input : N = 8 Output : 141 Input : N = 20 Output : 2471
Enfoque:
La serie dada es:
1, 2, 6, 15, 31, 56, 92, 141, ...
Primera diferencia consecutiva :
1 4 9 16 25 36 49 .......
Segunda diferencia consecutiva :
3 5 7 9 11 13......
Como la segunda diferencia consecutiva está en AP, el enésimo término (t n ) de la serie es de la forma
A(n – 1)(n – 2)(n – 3) + B(n – 1)(n – 2) + C(n – 1) + D
Entonces, t n = A(n – 1)(n – 2)(n – 3) + B(n – 1)(n – 2) + C(n – 1 ) + D
Ahora,
t 1 = D = 1
t 2 = C (2 – 1) + D = 2
t 3 = 2B + 2C+ D = 6
t 4 = CA + 6B + 3C+ D = 15
Al resolver lo anterior cuatro ecuaciones obtenemos => A = 1/3, B = 3/2, C = 1, D = 1. Al sustituir estos valores t n y después de simplificar obtenemos, a
continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find Nth // term of the series: // 1 + 2 + 6 + 15 + 31 + 56 + ... #include<iostream> #include<math.h> using namespace std; // calculate Nth term of given series int Nth_Term(int n) { return (2 * pow(n, 3) - 3 * pow(n, 2) + n + 6) / 6; } // Driver code int main() { int N = 8; cout << Nth_Term(N); }
Java
// Java program to find Nth // term of the series: // 1 + 2 + 6 + 15 + 31 + 56 + ... import java.util.*; import java.lang.*; class GFG { // calculate Nth term of given series static double Nth_Term(int n) { return (2 * Math.pow(n, 3) - 3 * Math.pow(n, 2) + n + 6) / 6; } // Driver code static public void main (String args[]) { int N = 8; System.out.println(Nth_Term(N)); } } // This code is contributed // by Akanksha Rai
Python3
# Python program to find Nth term of the series: # 1 + 2 + 6 + 15 + 31 + 56 + ... # calculate Nth term of given series def Nth_Term(n): return (2 * pow(n, 3) - 3 * pow(n, 2) + n + 6) // 6 # Driver code N = 8 print(Nth_Term(N))
C#
// C# program to find Nth // term of the series: // 1 + 2 + 6 + 15 + 31 + 56 + ... using System; class GFG { // calculate Nth term of given series static double Nth_Term(int n) { return (2 * Math.Pow(n, 3) - 3 * Math.Pow(n, 2) + n + 6) / 6; } // Driver code static public void Main () { int N = 8; Console.WriteLine(Nth_Term(N)); } } // This code is contributed // by Sach_Code
PHP
<?php // PHP program to find Nth // term of the series: // 1 + 2 + 6 + 15 + 31 + 56 + .. // calculate Nth term of given series function Nth_Term($n) { return (2 * pow($n, 3) - 3 * pow($n, 2) + $n + 6) / 6; } // Driver code $N = 8; echo Nth_Term($N); // This code is contributed by // Shashank_Sharma ?>
Javascript
<script> // js program to find Nth // term of the series: // 1 + 2 + 6 + 15 + 31 + 56 + .. // calculate Nth term of given series function Nth_Term(n) { return (2 * Math.pow(n, 3) - 3 * Math.pow(n, 2) + n + 6) / 6; } // Driver code let N = 8; document.write(Nth_Term(N)); // This code is contributed // by pulamolu mohan pavan cse </script>
141
Complejidad de tiempo : O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por Sanjit_Prasad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA