Open In App

Program to find the sum of the series (1/a + 2/a^2 + 3/a^3 + … + n/a^n)

Last Updated : 21 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given two integers a and n. The task is to find the sum of the series 1/a + 2/a2 + 3/a3 + … + n/an.
Examples: 

Input: a = 3, n = 3 
Output: 0.6666667 
The series is 1/3 + 1/9 + 1/27 which is 
equal to 0.6666667
Input: a = 5, n = 4 
Output: 0.31039998 


Approach: Run a loop from 1 to n and get the i-th                                term of the series by calculating term = (i / ai). Sum all the generated terms which is the final answer.
Below is the implementation of the above approach: 

C++

// C++ program to find the sum of
// the given series
#include <stdio.h>
#include <math.h>
#include <iostream>
 
using namespace std;
 
// Function to return the
// sum of the series
float getSum(int a, int n)
{
    // variable to store the answer
    float sum = 0;
    for (int i = 1; i <= n; ++i)
    {
 
        // Math.pow(x, y) returns x^y
        sum += (i / pow(a, i));
    }
    return sum;
}
 
// Driver code
int main()
{
    int a = 3, n = 3;
     
    // Print the sum of the series
    cout << (getSum(a, n));
    return 0;
}
 
// This code is contributed
// by Sach_Code

                    

Java

// Java program to find the sum of the given series
import java.util.Scanner;
 
public class HelloWorld {
 
    // Function to return the sum of the series
    public static float getSum(int a, int n)
    {
        // variable to store the answer
        float sum = 0;
        for (int i = 1; i <= n; ++i) {
 
            // Math.pow(x, y) returns x^y
            sum += (i / Math.pow(a, i));
        }
        return sum;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int a = 3, n = 3;
 
        // Print the sum of the series
        System.out.println(getSum(a, n));
    }
}

                    

Python 3

# Python 3 program to find the sum of
# the given series
import math
 
# Function to return the
# sum of the series
def getSum(a, n):
 
    # variable to store the answer
    sum = 0;
    for i in range (1, n + 1):
     
        # Math.pow(x, y) returns x^y
        sum += (i / math.pow(a, i));
         
    return sum;
 
# Driver code
a = 3; n = 3;
     
# Print the sum of the series
print(getSum(a, n));
 
# This code is contributed
# by Akanksha Rai

                    

C#

// C# program to find the sum
// of the given series
using System;
 
class GFG
{
     
// Function to return the sum
// of the series
public static double getSum(int a, int n)
{
    // variable to store the answer
    double sum = 0;
    for (int i = 1; i <= n; ++i)
    {
 
        // Math.pow(x, y) returns x^y
        sum += (i / Math.Pow(a, i));
    }
    return sum;
}
 
// Driver code
static public void Main ()
{
    int a = 3, n = 3;
 
    // Print the sum of the series
    Console.WriteLine(getSum(a, n));
}
}
 
// This code is contributed by jit_t

                    

PHP

<?php
// PHP program to find the
// sum of the given series
 
// Function to return the
// sum of the series
function getSum($a, $n)
{
    // variable to store the answer
    $sum = 0;
    for ($i = 1; $i <= $n; ++$i)
    {
 
        // Math.pow(x, y) returns x^y
        $sum += ($i / pow($a, $i));
    }
    return $sum;
}
 
// Driver code
$a = 3;
$n = 3;
 
// Print the sum of the series
echo (getSum($a, $n));
 
// This code is contributed by akt_mit
?>

                    

Javascript

<script>
 
// Javascript program to find the sum of the given series
 
 
    // Function to return the sum of the series
    function getSum( a, n) {
        // variable to store the answer
        let sum = 0;
        for (let i = 1; i <= n; ++i) {
 
            // Math.pow(x, y) returns x^y
            sum += (i / Math.pow(a, i));
        }
        return sum;
    }
 
    // Driver code
      
        let a = 3, n = 3;
 
        // Print the sum of the series
        document.write(getSum(a, n).toFixed(7));
 
// This code contributed by Princi Singh
 
</script>

                    

Output
0.666667

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

Method: Finding the sum of series without using pow function 

C++

#include <iostream>
#include<math.h>
using namespace std;
 
int main()
{
 
  // sum of series
  int n = 3, a = 3;
  double s = 0;
 
  // iterating for loop n times
  for (int i = 1; i < n + 1; i++)
  {
 
    // finding sum
    s = s + (i / (pow(a, i)));
  }
 
  // printing the result
  cout << s;
  return 0;
}
 
// This code is contributed by ksrikanth0498.

                    

Java

/*package whatever //do not write package name here */
// Java code to print
// sum of series
import java.io.*;
 
class GFG {
     
    public static void main (String[] args) {
        int n = 3,a = 3,s = 0;
        //iterating for loop n times
        for (int i = 1; i <= n; i++) {
            //finding sum
            s = s + (i/(a**i))        
          }
        //printing the result
        System.out.println(s);
    }
}
// This code is contributed by Atul_kumar_Shrivastava

                    

Python3

# Python code to print
# sum of series
n = 3; a = 3; s = 0
 
# iterating for loop n times
for i in range(1, n + 1):
   
  # finding sum
  s = s + (i/(a**i))
   
# printing the result
print(s)
 
# this code is contributed by Gangarajula Laxmi

                    

C#

using System;
public class GFG
{
 
    static public void Main ()
    {
 
        // sum of series
        int n = 3, a = 3, s = 0;
       
        // iterating for loop n times
        for (int i = 1; i < n + 1; i++)
        {
           
            // finding sum
            s = s + (i / (Math.Pow(a, i)));
        }
       
        // printing the result
        Console.WriteLine(s); 
    }
 
//   this code is contributed by Gangarajula Laxmi

                    

Javascript

<script>
       // JavaScript code for the above approach
 
 
       //sum of series
 
       let n = 3, a = 3, s = 0;
       // iterating for loop n times
       for (let i = 1; i < n + 1; i++) {
           // finding sum
 
           s = s + (i / (Math.pow(a, i)))
       }
       // printing the result
       document.write(s);
 
 
   // This code is contributed by Potta Lokesh
   </script>

                    

Output
0.666667

Time complexity: O(nlogn) since a single using for loop and logn for inbuilt pow() function.
Auxiliary Space: O(1)

Method 3: Using the formula for the sum of a geometric series 

1. The series 1/a + 2/a^2 + 3/a^3 + … + n/a^n is a geometric series with first term 1/a and common ratio 1/a. The sum of a geometric series is given by the formula:
S = a(1 – r^n)/(1 – r)

where S is the sum of the series, a is the first term, r is the common ratio, and n is the number of terms. Substituting the values for this series, we get:

S = (1/a)(1 – (1/a)^n)/(1 – 1/a)

C++

#include <iostream>
#include <cmath>
 
using namespace std;
 
double sum_of_series(double a, int n) {
    return (1/a)*(1 - pow((1/a),n))/(1 - 1/a);
}
 
int main() {
    cout << sum_of_series(4, 5) << endl;
    return 0;
}

                    

Java

public class Main {
  public static double sumOfSeries(double a, int n) {
    return (1/a)*(1 - Math.pow((1/a), n))/(1 - 1/a);
  }
 
  public static void main(String[] args) {
    System.out.println(sumOfSeries(4, 5));
  }
}

                    

Python3

def sum_of_series(a, n):
    return (1/a)*(1 - (1/a)**n)/(1 - 1/a)
 
# Example usage:
print(sum_of_series(4, 5))

                    

C#

using System;
 
public class Program
{
    public static double SumOfSeries(int a, int n)
    {
        return (1.0/a)*(1 - Math.Pow(1.0/a, n))/(1 - 1.0/a);
    }
     
    public static void Main()
    {
        Console.WriteLine(SumOfSeries(4, 5));
    }
}

                    

Javascript

function sum_of_series(a, n) {
    return (1/a)*(1 - Math.pow((1/a),n))/(1 - 1/a);
}
 
console.log(sum_of_series(4, 5));

                    

Output
0.3330078125

Time complexity: O(n)
Auxiliary Space: O(n) 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads