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

Last Updated : 21 Mar, 2023

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 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 ``#include ``#include ` `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

 ``

Javascript

 ``

Output
`0.666667`

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

Method: Finding the sum of series without using pow function

C++

 `#include ``#include``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

 ``

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 ``#include ` `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)

Previous
Next