Open In App

Sum of an Infinite Geometric Progression ( GP )

Last Updated : 23 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Given two integers A and R, representing the first term and the common ratio of a geometric sequence, the task is to find the sum of the infinite geometric series formed by the given first term and the common ratio.

Examples:

Input: A = 1, R = 0.5
Output: 2

Input: A = 1, R = -0.25
Output: 0.8

Approach: The given problem can be solved based on the following observations:

  • If absolute of value of R is greater than equal to 1, then the sum will be infinite.
  • Otherwise, the sum of the Geometric series with infinite terms can be calculated using the formula

Sum = \frac{A}{(1 - R)}

Therefore, if the absolute value of R is greater than equal to 1, then print "Infinite". Otherwise, print the value \frac{A}{(1 - R)}           as the resultant sum.

Below is the implementation of the above approach:

C++
// C++ program for the above approach

#include <bits/stdc++.h>
using namespace std;

// Function to calculate the sum of
// an infinite Geometric Progression
void findSumOfGP(double a, double r)
{
    // Case for Infinite Sum
    if (abs(r) >= 1) {
        cout << "Infinite";
        return;
    }

    // Store the sum of GP Series
    double sum = a / (1 - r);

    // Print the value of sum
    cout << sum;
}

// Driver Code
int main()
{
    double A = 1, R = 0.5;
    findSumOfGP(A, R);

    return 0;
}
Java
// Java program for the above approach
import java.util.*;

class GFG{

// Function to calculate the sum of
// an infinite Geometric Progression
static void findSumOfGP(double a, double r)
{
    
    // Case for Infinite Sum
    if (Math.abs(r) >= 1)
    {
        System.out.print("Infinite");
        return;
    }

    // Store the sum of GP Series
    double sum = a / (1 - r);

    // Print the value of sum
    System.out.print(sum);
}

// Driver Code
public static void main(String[] args)
{
    double A = 1, R = 0.5;
    findSumOfGP(A, R);
}
}

// This code is contributed by 29AjayKumar
Python3
# Python3 program for the above approach

# Function to calculate the sum of
# an infinite Geometric Progression
def findSumOfGP(a, r):
  
    # Case for Infinite Sum
    if (abs(r) >= 1):
        print("Infinite")
        return

    # Store the sum of GP Series
    sum = a / (1 - r)

    # Print the value of sum
    print(int(sum))

# Driver Code
if __name__ == '__main__':
    A, R = 1, 0.5
    findSumOfGP(A, R)

# This code is contributed by mohit kumar 29.
C#
// C# program for the above approach
using System;
class GFG
{
  
    // Function to calculate the sum of
    // an infinite Geometric Progression
    static void findSumOfGP(double a, double r)
    {
      
        // Case for Infinite Sum
        if (Math.Abs(r) >= 1) {
            Console.Write("Infinite");
            return;
        }

        // Store the sum of GP Series
        double sum = a / (1 - r);

        // Print the value of sum
        Console.Write(sum);
    }

    // Driver Code
    public static void Main()
    {
        double A = 1, R = 0.5;
        findSumOfGP(A, R);
    }
}

// This code is contributed by ukasp.
JavaScript
<script>

// JavaScript program for the above approach

// Function to calculate the sum of
// an infinite Geometric Progression
function findSumOfGP(a, r)
{
    
    // Case for Infinite Sum
    if (Math.abs(r) >= 1)
    {
        document.write("Infinite");
        return;
    }

    // Store the sum of GP Series
    let sum = a / (1 - r);

    // Print the value of sum
    document.write(sum);
}

// Driver Code
let A = 1, R = 0.5;

findSumOfGP(A, R);

// This code is contributed by sanjoy_62
    
</script>

Output: 
2

 

Time Complexity: O(1)
Auxiliary Space: O(1), since no extra space has been taken.


Explore