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 sumint 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 codeint 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 termsimport java.io.*;class GFG {// Function to calculate the sumstatic 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 termsdef 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 sumn = 5;# Find the Snprint ("Sum =", int(calculateSum(n)))# This code is contributed # by Surendra_Gangwar |
C#
// C# program to find sum// of first n termsusing System;class GFG {// Function to calculate the sumstatic 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 codepublic 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 sumfunction 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 Snecho "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!

