Encuentra la suma de N términos de la serie 1, 4, 13, 40, 121, …

Dado un entero positivo, n . Encuentre la suma del primer término n de la serie:

1, 4, 13, 40, 121, …..

Ejemplos:

Entrada: n = 5
Salida: 179

Entrada: n = 3
Salida: 18

Acercarse:

La secuencia se forma usando el siguiente patrón. Para cualquier valor N-

S_{n}=(\frac{3^{n+1}-3-2*n}{4})

La solución anterior se puede derivar siguiendo la serie de pasos:

Sea T n el n-ésimo término y S n la suma de n términos de la serie dada.

Así, tenemos

S_{n}=1+4+13+40+121+...+T_{n-1}+T_{n}            -(1)

La ecuación (1) se puede escribir como-

S_{n}=1+4+13+40+121+…+T_{n-1}+T_{n} -(2)

Restando la ecuación (2) de la ecuación (1), obtenemos

0=1+[3+9+27+81+...+(T_{n}-T_{n-1})-T_{n}]

La ecuación anterior 3, 9, 27, 81,… es un GP con razón común 3 y primer término 3.

Así, tenemos

1+[\frac{3*(3^{n-1}-1)}{3-1}]-T_{n}=0

1+[\frac{3*(3^{n-1}-1)}{2}]-T_{n}=0

(\frac{3^{n}}{2}-\frac{1}{2})-T_{n}=0

(\frac{3^{n}}{2}-\frac{1}{2})=T_{n}

Ya que,

S_{n}=\sum_{k=1}^{n}T_{k}

Por lo tanto,

S_{n}=\sum_{k=1}^{n}(\frac{3^{k}}{2}-\frac{1}{2})

S_{n}=\frac{1}{2}\sum_{k=1}^{n}3^{k}-\frac{1}{2}\sum_{k=1}^{n}1

S_{n}=\frac{1}{2}(3+3^{2}+3^{3}+3^{4}+3^{5}+...+3^{n})-\frac{n}{2}

S_{n}=\frac{1}{2}[\frac{3*(3^{n}-1)}{2}]-\frac{n}{2}

S_{n}=(\frac{3^{n+1}-3}{4})-\frac{n}{2}

Por lo tanto, la suma de n términos es

S_{n}=(\frac{3^{n+1}-3-2*n}{4})

Ilustración:

Entrada: n = 5
Salida: 179
Explicación:
S_{n}=(\frac{3^{n+1}-3-2*n}{4})
        = (\frac{3^{5+1}-3-2*5}{4})
       = (\frac{716}{4})
       =179

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to implement
// the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to return sum of
// first N term of the series
int findSum(int N)
{
    return (pow(3, N + 1) -
                3 - 2 * N) / 4;
}
 
// Driver Code
int main()
{
    int N = 5;
    cout << findSum(N);
    return 0;
}

Java

// Java program for the above approach
import java.util.*;
public class GFG
{
 
  // Function to return sum of
  // first N term of the series
  static int findSum(int N)
  {
    return (int)(Math.pow(3, N + 1) -
                 3 - 2 * N) / 4;
  }
 
  public static void main(String args[])
  {
    int N = 5;
    System.out.print(findSum(N));
  }
}
// This code is contributed by Samim Hossain Mondal.

Python3

# Python code for the above approach
 
# Function to return sum of
# first N term of the series
def findSum(N):
    return (3 ** (N + 1) - 3 - 2 * N) // 4;
 
# Driver Code
N = 5;
print(findSum(N));
 
# This code is contributed by Saurabh Jaiswal

C#

// C# program to implement
// the above approach
using System;
class GFG
{
 
// Function to return sum of
// first N term of the series
static int findSum(int N)
{
    return (int)(Math.Pow(3, N + 1) -
                3 - 2 * N) / 4;
}
 
  // Driver Code
  public static void Main()
  {
    int N = 5;
    Console.Write(findSum(N));
 
  }
}
 
// This code is contributed by Samim Hossain Mondal.

Javascript

<script>
      // JavaScript code for the above approach
 
      // Function to return sum of
      // first N term of the series
      function findSum(N) {
          return Math.floor((Math.pow(3, N + 1) -
              3 - 2 * N) / 4);
      }
 
      // Driver Code
      let N = 5;
      document.write(findSum(N));
 
// This code is contributed by Potta Lokesh
  </script>
Producción

179

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por akashjha2671 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 *