Dado n, necesitamos encontrar la suma de los primeros n términos de la serie representada como Sn = 3 + 5 + 9 + 17 + 33 … hasta n
Ejemplos:
Input : 2 Output : 8 3 + 5 = 8 Input : 5 Output : 67 3 + 5 + 9 + 17 + 33 = 67
Denotemos el término n-ésimo por tn.
Este problema se puede resolver fácilmente dividiendo cada término de la siguiente manera:
Sn = 3 + 5 + 9 + 17 + 33……
Sn = (2+1) + (4+1) + (8+1) + (16+1) +……
Sn = (2+1) + ( 2*2+1) + (2*2*2+1) + (2*2*2*2+1) +……+ ((2*2*2..hasta n veces) + 1)
Observamos que el término n se puede escribir en términos de potencias de 2 y 1.
Por lo tanto, la suma de los primeros n términos se da de la siguiente manera:
Sn = (2+1) + (4+1) + (8+1) + (16+1) +……+ hasta n términos
Sn = (1 + 1 + 1 + 1 + …hasta n términos) + ( 2 + 4 + 8 + 16 + …hasta la enésima potencia de 2)
En la fórmula anterior,
2 + 4 + 8 + 16…. es un GP
La suma de los primeros n términos está dada por 2*(2^n-1)/(2-1) = 2^(n+1) – 2 (usando la fórmula GP)
Sn = n + 2*(2 ^n – 1)
Sn = 2^(n+1) + n -2
C++
// C++ program to find sum of first n terms #include <bits/stdc++.h> using namespace std; int calculateSum(int n) { // Sn = n*(4*n*n + 6*n - 1)/3 return (pow(2, n + 1) + n - 2); } // Driver code int main() { // number of terms to be included in sum int n = 4; // find the Sn cout << "Sum = " << calculateSum(n); return 0; }
Java
// Java program to find // sum of first n terms import java.util.*; class GFG { static int calculateSum(int n) { // Sn = n*(4*n*n + 6*n - 1)/3 return ((int)Math.pow(2, n + 1) + n - 2); } // Driver Code public static void main(String args[]) { // number of terms to // be included in sum int n = 4; // find the Sn System.out.println("Sum = " + calculateSum(n)); } } // This code is contributed // by Kirti_Mangal
Python
# Python program to find sum # of n terms of the series def calculateSum(n): return (2**(n + 1) + n - 2) # Driver Code # number of terms for the sum n = 4 # find the Sn print("Sum =", calculateSum(n)) # This code is contributed # by Surendra_Gangwar
C#
//C# program to find // sum of first n terms using System; class GFG { static int calculateSum(int n) { // Sn = n*(4*n*n + 6*n - 1)/3 return ((int)Math.Pow(2, n + 1) + n - 2); } // Driver Code public static void Main() { // number of terms to // be included in sum int n = 4; // find the Sn Console.WriteLine("Sum = " + calculateSum(n)); } } // This code is contributed // by inder_verma..
PHP
<?php // PHP program to find sum // of first n terms function calculateSum( $n) { // Sn = n*(4*n*n + 6*n - 1)/3 return (pow(2, $n + 1) + $n - 2); } // Driver code // number of terms to be // included in sum $n = 4; // find the Sn echo "Sum = " , calculateSum($n); // This code is contributed // by inder_verma.. ?>
Javascript
<script> // Java script program to find // sum of first n terms function calculateSum( n) { // Sn = n*(4*n*n + 6*n - 1)/3 return (Math.pow(2, n + 1) + n - 2); } // Driver Code // number of terms to // be included in sum let n = 4; // find the Sn document.write("Sum = " + calculateSum(n)); // This code is contributed by mohan pavan </script>
Sum = 34
Publicación traducida automáticamente
Artículo escrito por Shashank_Sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA