# Sum of an Infinite Geometric Progression ( GP )

• Last Updated : 07 May, 2021

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 Therefore, if the absolute value of R is greater than equal to 1, then print “Infinite”. Otherwise, print the value as the resultant sum.

Below is the implementation of the above approach:

## C++

 // C++ program for the above approach #include using namespace std; // Function to calculate the sum of// an infinite Geometric Progressionvoid 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 Codeint main(){    double A = 1, R = 0.5;    findSumOfGP(A, R);     return 0;}

## Java

 // Java program for the above approachimport java.util.*; class GFG{ // Function to calculate the sum of// an infinite Geometric Progressionstatic 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 Codepublic 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 Progressiondef 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 Codeif __name__ == '__main__':    A, R = 1, 0.5    findSumOfGP(A, R) # This code is contributed by mohit kumar 29.

## C#

 // C# program for the above approachusing 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

 

Output:

2

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

My Personal Notes arrow_drop_up