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

My Personal Notes arrow_drop_up सर्वशक्तिशाली इकलौता

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.