Find the Sum of the series 1, 2, 3, 6, 9, 18, 27, 54, ... till N terms - GeeksforGeeks

13 Jan, 2022
Given a number N, the task is to find the sum of the below series till N terms. 
Examples:  
Input: N = 8 Output: 201 1 + 2 + 3 + 6 + 9 + 18 + 27 + 54 + 81 = 201Input: N = 12 Output: 1821 1 + 2 + 3 + 6 + 9 + 18 + 27 + 54 + 81 + 162 + 243 + 486 + 729 = 1821  
 
Approach: From the given series, find the formula for Nth term:  
1st term = 1
2nd term = 2 = 2 * 1
3rd term = 3 = 3/2 * 2
4th term = 6 = 2 * 3
5th term = 9 = 3/2 * 6
6th term = 18 = 2 * 9
.
.
Nth term = [2 * (N-1)th term], if N is even
           [3/2 * (N-1)th term], if N is odd
Therefore:  
Nth term of the series 
Then iterate over numbers in the range [1, N] to find all the terms using the above formula and compute their sum.Approach: By observing the pattern in the given series, the next numbers of the series are alternatively multiplied by 2 and 3/2.Below is the implementation of the above approach:  
C++
Java
Python3
C#
Javascript
// C++ program for the above series#include <iostream>using namespace std;  // Function to find the sum of seriesvoid printSeriesSum(int N){    double sum = 0;      int a = 1;    int cnt = 0;      // Flag to find the multiplicating    // factor.. i.e, by 2 or 3/2    bool flag = true;      // First term    sum += a;      while (cnt < N) {          int nextElement;          // If flag is true, multiply by 2        if (flag) {            nextElement = a * 2;            sum += nextElement;            flag = !flag;        }          // If flag is false, multiply by 3/2        else {            nextElement = a * 3 / 2;            sum += nextElement;            flag = !flag;        }          // Update the previous element        // to nextElement        a = nextElement;        cnt++;    }      // Print the sum    cout << sum << endl;}  // Driver Codeint main(){      int N = 8;      printSeriesSum(N);    return 0;}
// Java program for the above seriesclass GFG {          // Function to find the sum of series    static void printSeriesSum(int N)    {        double sum = 0;              int a = 1;        int cnt = 0;              // Flag to find the multiplicating        // factor.. i.e, by 2 or 3/2        boolean flag = true;              // First term        sum += a;              while (cnt < N) {                  int nextElement;                  // If flag is true, multiply by 2            if (flag == true) {                nextElement = a * 2;                sum += nextElement;                flag = !flag;            }                  // If flag is false, multiply by 3/2            else {                nextElement = a * 3 / 2;                sum += nextElement;                flag = !flag;            }                  // Update the previous element            // to nextElement            a = nextElement;            cnt++;        }              // Print the sum        System.out.println(sum);    }          // Driver Code    public static void main (String[] args)    {              int N = 8;              printSeriesSum(N);    }}// This code is contributed by AnkitRai01
# Python3 program for the above series  # Function to find the sum of seriesdef printSeriesSum(N) :      sum = 0;      a = 1;    cnt = 0;      # Flag to find the multiplicating    # factor.. i.e, by 2 or 3/2    flag = True;      # First term    sum += a;      while (cnt < N) :          nextElement = None;          # If flag is true, multiply by 2        if (flag) :            nextElement = a * 2;            sum += nextElement;            flag = not flag;          # If flag is false, multiply by 3/2        else :            nextElement = a * (3 / 2);            sum += nextElement;            flag = not flag;          # Update the previous element        # to nextElement        a = nextElement;        cnt += 1      # Print the sum    print(sum);  # Driver Codeif __name__ == "__main__" :        N = 8;      printSeriesSum(N);          # This code is contributed by AnkitRai01
// C# program for the above seriesusing System;  class GFG {           // Function to find the sum of series     static void printSeriesSum(int N)     {         double sum = 0;               int a = 1;         int cnt = 0;               // Flag to find the multiplicating         // factor.. i.e, by 2 or 3/2         bool flag = true;               // First term         sum += a;               while (cnt < N) {                   int nextElement;                   // If flag is true, multiply by 2             if (flag == true) {                 nextElement = a * 2;                 sum += nextElement;                 flag = !flag;             }                   // If flag is false, multiply by 3/2             else {                 nextElement = a * 3 / 2;                 sum += nextElement;                 flag = !flag;             }                   // Update the previous element             // to nextElement             a = nextElement;             cnt++;         }               // Print the sum         Console.WriteLine(sum);     }           // Driver Code     public static void Main (string[] args)     {               int N = 8;               printSeriesSum(N);     } }   // This code is contributed by AnkitRai01 
<script>  // javascript program for the above series    // Function to find the sum of seriesfunction printSeriesSum( N){    let sum = 0;      let a = 1;    let cnt = 0;      // Flag to find the multiplicating    // factor.. i.e, by 2 or 3/2    let flag = true;      // First term    sum += a;      while (cnt < N) {          let nextElement;          // If flag is true, multiply by 2        if (flag) {            nextElement = a * 2;            sum += nextElement;            flag = !flag;        }          // If flag is false, multiply by 3/2        else {            nextElement = a * 3 / 2;            sum += nextElement;            flag = !flag;        }          // Update the previous element        // to nextElement        a = nextElement;        cnt++;    }      // Print the sum   document.write(sum );}  // Driver Code      let N = 8;      printSeriesSum(N);      // This code is contributed by todaysgaurav     </script>
201
 
Time Complexity: O(N)
Auxiliary Space: O(1)
ankthon
todaysgaurav
souravmahato348
series
series-sum
Mathematical
School Programming
Mathematical
series
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Merge two sorted arrays
Modulo Operator (%) in C/C++ with Examples
Prime Numbers
Program to find GCD or HCF of two numbers
Print all possible combinations of r elements in a given array of size n
Python Dictionary
Arrays in C/C++
Inheritance in C++
Reverse a string in Java
Interfaces in Java