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

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 = 4
Output: 18.08
Explanation:



## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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

 

Output:

Sum is: 18.0833

Output:

Sum is: 18.0833


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 prthe 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

Output:

Sum is: 18.083333333333336


Time Complexity: O(n)

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.