Encuentre el N-ésimo término de la serie 1 + 2 + 6 + 15 + 31 + 56 + …

Dado un número entero  norte    . 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
t_{n} = \frac{2n^{3}-3n^{2}+n+6}{6}
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>
Producción: 

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

Deja una respuesta

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