Open in App
Not now

# Program to find sum of 1 + x/2! + x^2/3! +…+x^n/(n+1)!

• Difficulty Level : Basic
• Last Updated : 16 Aug, 2022

Given a number x and n, the task is to find the sum of the below series of x till n terms:

Examples:

Input: x = 5, n = 2
Output: 7.67
Explanation:
Sum of first two termed
Input: x = 5, n = 4Output: 18.08Explanation: 

Approach: Iterate the loop till the nth term, compute the formula in each iteration i.e.

nth term of the series =

Below is the implementation of the above approach:

## C++

 // C++ Program to compute sum of // 1 + x/2! + x^2/3! +...+x^n/(n+1)!   #include  #include  using namespace std;   // Method to find the factorial of a number int fact(int n) {     if (n == 1)         return 1;       return n * fact(n - 1); }   // Method to compute the sum double sum(int x, int n) {     double i, total = 1.0;       // Iterate the loop till n     // and compute the formula     for (i = 1; i <= n; i++) {         total = total + (pow(x, i) / fact(i + 1));     }       return total; }   // Driver code int main() {       // Get x and n     int x = 5, n = 4;       // Print output     cout << "Sum is: " << sum(x, n);       return 0; }

## Java

 // Java Program to compute sum of // 1 + x/2! + x^2/3! +...+x^n/(n+1)!   public class SumOfSeries {       // Method to find factorial of a number     static int fact(int n)     {         if (n == 1)             return 1;           return n * fact(n - 1);     }       // Method to compute the sum     static double sum(int x, int n)     {         double total = 1.0;           // Iterate the loop till n         // and compute the formula         for (int i = 1; i <= n; i++) {             total = total + (Math.pow(x, i) / fact(i + 1));         }           return total;     }       // Driver Code     public static void main(String[] args)     {           // Get x and n         int x = 5, n = 4;           // Find and print the sum         System.out.print("Sum is: " + sum(x, n));     } }

## Python3

 # Python3 Program to compute sum of # 1 + x / 2 ! + x ^ 2 / 3 ! +...+x ^ n/(n + 1)!   # Method to find the factorial of a number def fact(n):     if n == 1:         return 1     else:         return n * fact(n - 1)   # Method to compute the sum def sum(x, n):     total = 1.0       # Iterate the loop till n     # and compute the formula     for i in range (1, n + 1, 1):         total = total + (pow(x, i) / fact(i + 1))       return total   # Driver code if __name__== '__main__':           # Get x and n     x = 5     n = 4       # Print output     print ("Sum is: {0:.4f}".format(sum(x, n)))       # This code is contributed by  # SURENDRA_GANGWAR

## C#

 // C# Program to compute sum of // 1 + x/2! + x^2/3! +...+x^n/(n+1)! using System;   class SumOfSeries {       // Method to find factorial of a number     static int fact(int n)     {         if (n == 1)             return 1;           return n * fact(n - 1);     }       // Method to compute the sum     static double sum(int x, int n)     {         double total = 1.0;           // Iterate the loop till n         // and compute the formula         for (int i = 1; i <= n; i++) {             total = total + (Math.Pow(x, i) / fact(i + 1));         }           return total;     }       // Driver Code     public static void Main()     {           // Get x and n         int x = 5, n = 4;           // Find and print the sum         Console.WriteLine("Sum is: " + sum(x, n));     } }   // This code is contributed // by anuj_67..

## PHP

 

## Javascript

 

Output:

Sum is: 18.0833

Time Complexity: O(n2)

Auxiliary Space: O(n), since n extra space has been taken.

Efficient approach: Time complexity for above algorithm is O() because for each sum iteration factorial is being calculated which is O(n). It can be observed that term of the series can be written as , where . Now we can iterate over to calculate the sum.
Below is the implementation of the above approach:

## C++

 // C++ implementation of the approach #include  using namespace std;   // Function to compute the series sum double sum(int x, int n) {     double total = 1.0;       // To store the value of S[i-1]     double previous = 1.0;       // Iterate over n to store sum in total     for (int i = 1; i <= n; i++)      {           // Update previous with S[i]         previous = (previous * x) / (i + 1);         total = total + previous;     }     return total; }   // Driver code int main()  {     // Get x and n     int x = 5, n = 4;           // Find and print the sum     cout << "Sum is: " << sum(x, n);       return 0; }   // This code is contributed by jit_t

## Java

 // Java implementation of the approach   public class GFG {       // Function to compute the series sum     static double sum(int x, int n)     {           double total = 1.0;           // To store the value of S[i-1]         double previous = 1.0;           // Iterate over n to store sum in total         for (int i = 1; i <= n; i++) {               // Update previous with S[i]             previous = (previous * x) / (i + 1);             total = total + previous;         }           return total;     }       // Driver code     public static void main(String[] args)     {           // Get x and n         int x = 5, n = 4;           // Find and print the sum         System.out.print("Sum is: " + sum(x, n));     } }

## Python3

 # Python implementation of the approach   # Function to compute the series sum def sum(x, n):     total = 1.0;       # To store the value of S[i-1]     previous = 1.0;       # Iterate over n to store sum in total     for i in range(1, n + 1):                   # Update previous with S[i]         previous = (previous * x) / (i + 1);         total = total + previous;       return total;   # Driver code if __name__ == '__main__':           # Get x and n     x = 5;     n = 4;       # Find and print the sum     print("Sum is: ", sum(x, n));   # This code is contributed by 29AjayKumar

## C#

 // C# implementation of the approach using System;   class GFG  {       // Function to compute the series sum     public double sum(int x, int n)     {         double total = 1.0;           // To store the value of S[i-1]         double previous = 1.0;           // Iterate over n to store sum in total         for (int i = 1; i <= n; i++)          {               // Update previous with S[i]             previous = ((previous * x) / (i + 1));             total = total + previous;         }           return total;     } }   // Driver code class geek {     public static void Main()     {         GFG g = new GFG();           // Get x and n         int x = 5, n = 4;           // Find and print the sum         Console.WriteLine("Sum is: " + g.sum(x, n));     } }   // This code is contributed by SoM15242

## Javascript

 

Output:

Sum is: 18.083333333333336

Time Complexity: O(n)
Auxiliary Space: O(1) since using constant variables

My Personal Notes arrow_drop_up
Related Articles