Open In App

Find geometric sum of the series using recursion

Improve
Improve
Like Article
Like
Save
Share
Report

Given an integer N, we need to find the geometric sum of the following series using recursion. 
 

1 + 1/3 + 1/9 + 1/27 + … + 1/(3^n) 
 

Examples: 
 

Input N = 5 
Output: 1.49794

Input: N = 7
Output: 1.49977

 

Approach:
In the above-mentioned problem, we are asked to use recursion. We will calculate the last term and call recursion on the remaining n-1 terms each time. The final sum returned is the result.
Below is the implementation of the above approach: 
 

C++




// CPP implementation to Find the
// geometric sum of the series using recursion
 
#include <bits/stdc++.h>
using namespace std;
 
// function to find the sum of given series
double sum(int n)
{
    // base case
    if (n == 0)
        return 1;
 
    // calculate the sum each time
    double ans = 1 / (double)pow(3, n) + sum(n - 1);
 
    // return final answer
    return ans;
}
 
// Driver code
int main()
{
 
    // integer initialisation
    int n = 5;
 
    cout << sum(n) << endl;
 
    return 0;
}


Java




// JAVA implementation to Find the
// geometric sum of the series using recursion
 
import java.util.*;
 
class GFG {
 
    static double sum(int n)
    {
        // base case
        if (n == 0)
            return 1;
 
        // calculate the sum each time
        double ans = 1 / (double)Math.pow(3, n) + sum(n - 1);
 
        // return final answer
        return ans;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        // integer initialisation
        int n = 5;
 
        // print result
        System.out.println(sum(n));
    }
}


Python3




# CPP implementation to Find the
# geometric sum of the series using recursion
 
 
def sum(n):
     
    # base case
    if n == 0:
        return 1
     
    # calculate the sum each time
    # and return final answer
    return 1 / pow(3, n) + sum(n-1)
 
n = 5;
 
print(sum(n));


C#




// C# implementation to Find the
// geometric sum of the series using recursion
 
using System;
 
class GFG {
 
    static double sum(int n)
    {
        // base case
        if (n == 0)
            return 1;
 
        // calculate the sum each time
        double ans = 1 / (double)Math.Pow(3, n) + sum(n - 1);
 
        // return final answer
        return ans;
    }
 
    // Driver code
    static public void Main()
    {
        int n = 5;
 
        Console.WriteLine(sum(n));
    }
}


Javascript




<script>
 
// Javascript implementation to Find the
// geometric sum of the series using recursion
 
// function to find the sum of given series
function sum(n)
{
    // base case
    if (n == 0)
        return 1;
 
    // calculate the sum each time
    var ans = 1 / Math.pow(3, n) + sum(n - 1);
 
    // return final answer
    return ans;
}
 
// Driver code
// integer initialisation
var n = 5;
document.write( sum(n).toFixed(5));
 
</script>


Output: 

1.49794

 

Time Complexity: O(N)
Auxiliary Space: O(N)



Last Updated : 09 Aug, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads