Given a series and a number n, the task is to find the sum of its first n terms. Below is the series:
3, 6, 11, 20, ….
Examples:
Input: N = 2 Output: 9 The sum of first 2 terms of Series is 3 + 6 = 9 Input: N = 3 Output: 20 The sum of first 3 terms of Series is 3 + 6 + 11 = 20
Approach: This problem can easily solved by observing that the nth term of the series :
Sn = 3 + 6 + 11 + 20 … + upto nth term
Sn = (1 + 2^1) + (2 + 2^2) + (3 + 2^3)+ (4 + 2^4) …… + upto nth term
Sn = (1 + 2 + 3 + 4 …. + upto nth term) + ( 2^1 + 2^2 + 2^3 …… + unto nth term )
We observe that Sn is a summation of two series: AP and GP
As we know the sum of first n terms of AP is given by
And also the Sum of first n terms of G.P is given by
Hence the total sum is given by sum of both AP and GP.
Below is the implementation of above approach.
C++
// C++ program to find sum of first n terms #include <bits/stdc++.h> using namespace std; // Function to calculate the sum int calculateSum( int n) { // starting number int a1 = 1, a2 = 2; // Common Ratio int r = 2; // Common difference int d = 1; return (n) * (2 * a1 + (n - 1) * d) / 2 + a2 * ( pow (r, n) - 1) / (r - 1); } // Driver code int main() { // N th term to be find int n = 5; // find the Sn cout << "Sum = " << calculateSum(n); return 0; } |
Java
// Java program to find sum of first n terms import java.io.*; class GFG { // Function to calculate the sum static int calculateSum( int n) { // starting number int a1 = 1 , a2 = 2 ; // Common Ratio int r = 2 ; // Common difference int d = 1 ; return (n) * ( 2 * a1 + (n - 1 ) * d) / 2 + a2 * ( int )(Math.pow(r, n) - 1 ) / (r - 1 ); } // Driver code public static void main (String[] args) { // N th term to be find int n = 5 ; // find the Sn System.out.print( "Sum = " + calculateSum(n)); } } // This code is contributed by inder_verma. |
Python3
# Python3 program to find # sum of first n terms def calculateSum(n): # First term of AP a1 = 1 ; # First term of GP a2 = 2 ; # common ratio of GP r = 2 ; # common difference Of AP d = 1 ; return ((n) * ( 2 * a1 + (n - 1 ) * d) / 2 + a2 * ( pow (r, n) - 1 ) / (r - 1 )); # Driver Code # no. of the terms # for the sum n = 5 ; # Find the Sn print ( "Sum =" , int (calculateSum(n))) # This code is contributed # by Surendra_Gangwar |
C#
// C# program to find sum // of first n terms using System; class GFG { // Function to calculate the sum static int calculateSum( int n) { // starting number int a1 = 1, a2 = 2; // Common Ratio int r = 2; // Common difference int d = 1; return (n) * (2 * a1 + (n - 1) * d) / 2 + a2 * ( int )(Math.Pow(r, n) - 1) / (r - 1); } // Driver code public static void Main () { // N th term to be find int n = 5; // 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 to calculate the sum function calculateSum( $n ) { // starting number $a1 = 1; $a2 = 2; // Common Ratio $r = 2; // Common difference $d = 1; return ( $n ) * (2 * $a1 + ( $n - 1) * $d ) / 2 + $a2 * (pow( $r , $n ) - 1) / ( $r - 1); } // Driver code // Nth term to be find $n = 5; // find the Sn echo "Sum = " , calculateSum( $n ); // This code is contributed // by Shashank_Sharma ?> |
Javascript
<script> // Javascript program to find sum of first n terms // Function to calculate the sum function calculateSum(n) { // starting number let a1 = 1, a2 = 2; // Common Ratio let r = 2; // Common difference let d = 1; return (n) * (2 * a1 + (n - 1) * d) / 2 + a2 * (Math.pow(r, n) - 1) / (r - 1); } // Driver code // N th term to be find let n = 5; // find the Sn document.write( "Sum = " + calculateSum(n)); // This code is contributed by Mayank Tyagi </script> |
Sum = 77
Time Complexity: O(logn)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!