Open In App

# 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 = 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 numberint fact(int n){    if (n == 1)        return 1;     return n * fact(n - 1);} // Method to compute the sumdouble 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 codeint 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 numberdef fact(n):    if n == 1:        return 1    else:        return n * fact(n - 1) # Method to compute the sumdef 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 codeif __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 sumdouble 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 codeint 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 sumdef 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 codeif __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 approachusing 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 codeclass 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