# Program to get the Sum of series: 1 – x^2/2! + x^4/4! -…. upto nth term

This is a mathematical series program where a user must enter the number of terms up to which the sum of the series is to be found. Following this, we also need the value of x, which forms the base of the series.

Examples:

```Input : x = 9, n = 10
Output : -5.1463

Input : x = 5, n = 15
Output : 0.2837```

Simple approach :
We use two nested loops to compute factorial and use power function to compute power.

## C++

 `// C++ program to get the sum of the series` `#include ` `using` `namespace` `std;`   `// Function to get the series` `double` `Series(``double` `x, ``int` `n)` `{` `    ``double` `sum = 1, term = 1, fct, j, y = 2, m;`   `    ``// Sum of n-1 terms starting from 2nd term` `    ``int` `i;` `    ``for` `(i = 1; i < n; i++) {` `        ``fct = 1;` `        ``for` `(j = 1; j <= y; j++) {` `            ``fct = fct * j;` `        ``}` `        ``term = term * (-1);` `        ``m = term * ``pow``(x, y) / fct;` `        ``sum = sum + m;` `        ``y += 2;` `    ``}` `    ``return` `sum;` `}`   `// Driver Code` `int` `main()` `{` `    ``double` `x = 9;` `    ``int` `n = 10;` `    ``cout << Series(x, n);` `    ``return` `0;` `}` `// This code is contributed by Samim Hossain Mondal.`

## C

 `// C program to get the sum of the series` `#include ` `#include `   `// Function to get the series` `double` `Series(``double` `x, ``int` `n)` `{` `    ``double` `sum = 1, term = 1, fct, j, y = 2, m;`   `    ``// Sum of n-1 terms starting from 2nd term` `    ``int` `i;` `    ``for` `(i = 1; i < n; i++) {` `        ``fct = 1;` `        ``for` `(j = 1; j <= y; j++) {` `            ``fct = fct * j;` `        ``}` `        ``term = term * (-1);` `        ``m = term * ``pow``(x, y) / fct;` `        ``sum = sum + m;` `        ``y += 2;` `    ``}` `    ``return` `sum;` `}`   `// Driver Code` `int` `main()` `{` `    ``double` `x = 9;` `    ``int` `n = 10;` `    ``printf``(``"%.4f"``, Series(x, n));` `    ``return` `0;` `}`

## Java

 `// Java program to get the sum of the series` `import` `java.io.*;`   `class` `MathSeries {`   `    ``// Function to get the series` `    ``static` `double` `Series(``double` `x, ``int` `n)` `    ``{` `        ``double` `sum = ``1``, term = ``1``, fct, j, y = ``2``, m;`   `       ``// Sum of n-1 terms starting from 2nd term` `        ``int` `i;` `        ``for` `(i = ``1``; i < n; i++) {` `            ``fct = ``1``;` `            ``for` `(j = ``1``; j <= y; j++) {` `                ``fct = fct * j;` `            ``}` `            ``term = term * (-``1``);` `            ``m = Math.pow(x, y) / fct;` `            ``m = m * term;` `            ``sum = sum + m;` `            ``y += ``2``;` `        ``}` `        ``return` `sum;` `    ``}`   `    ``// Driver Code` `    ``public` `static` `void` `main(String[] args)` `    ``{` `        ``double` `x = ``3``;` `        ``int` `n = ``4``;` `        ``System.out.println(Math.round(Series(x, n) * ` `                                ``10000.0``) / ``10000.0``);` `    ``}` `}`

## Python3

 `# Python3 code to get the sum of the series` `import` `math`   `# Function to get the series` `def` `Series( x , n ):` `    ``sum` `=` `1` `    ``term ``=` `1` `    ``y ``=` `2` `    `  `    ``# Sum of n-1 terms starting from 2nd term` `    ``for` `i ``in` `range``(``1``,n):` `        ``fct ``=` `1` `        ``for` `j ``in` `range``(``1``,y``+``1``):` `            ``fct ``=` `fct ``*` `j` `        `  `        ``term ``=` `term ``*` `(``-``1``)` `        ``m ``=` `term ``*` `math.``pow``(x, y) ``/` `fct` `        ``sum` `=` `sum` `+` `m` `        ``y ``+``=` `2` `    `  `    ``return` `sum`   `# Driver Code` `x ``=` `9` `n ``=` `10` `print``(``'%.4f'``%` `Series(x, n))`   `# This code is contributed by "Sharad_Bhardwaj".`

## C#

 `// C# program to get the sum of the series` `using` `System;`   `class` `GFG {`   `    ``// Function to get the series` `    ``static` `double` `Series(``double` `x, ``int` `n)` `    ``{` `        ``double` `sum = 1, term = 1, fct, j, y = 2, m;`   `    ``// Sum of n-1 terms starting from 2nd term` `        ``int` `i;` `        ``for` `(i = 1; i < n; i++) {` `            ``fct = 1;` `            ``for` `(j = 1; j <= y; j++) {` `                ``fct = fct * j;` `            ``}` `            ``term = term * (-1);` `            ``m = Math.Pow(x, y) / fct;` `            ``m = m * term;` `            ``sum = sum + m;` `            ``y += 2;` `        ``}` `        ``return` `sum;` `    ``}`   `    ``// Driver Code` `    ``public` `static` `void` `Main()` `    ``{` `        ``double` `x = 9;` `        ``int` `n = 10;` `        ``Console.Write(Series(x, n) * ` `                            ``10000.0 / 10000.0);` `    ``}` `}`   `// This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output

`-5.1463`

Time Complexity: O(n * ylogny)

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

Efficient approach :
We can avoid inner loop and use of power function by using values computed in previous iteration.

## C++

 `// C++ program to get the sum of the series` `#include ` `#include `   `// Function to get the series` `double` `Series(``double` `x, ``int` `n)` `{` `    ``double` `sum = 1, term = 1, fct = 1, p = 1, multi = 1;` `    `  `    ``// Computing sum of remaining n-1 terms.` `    ``for` `(``int` `i = 1; i < n; i++) {` `        ``fct = fct * multi * (multi+1);` `        ``p = p*x*x;` `        ``term = (-1) * term;        ` `        ``multi += 2;` `        ``sum = sum + (term * p)/fct;` `    ``}` `    ``return` `sum;` `}`   `// Driver Code` `int` `main()` `{` `    ``double` `x = 9;` `    ``int` `n = 10;` `    ``printf``(``"%.4f"``, Series(x, n));` `    ``return` `0;` `}`

## C

 `#include ` `#include ` `#include ` `#include `   `double` `Series(``double` `x, ``int` `n)` `{` `  ``double` `sum = 1, term = 1, fct = 1, p = 1, multi = 1;`   `  ``// Computing sum of remaining n-1 terms.` `  ``for` `(``int` `i = 1; i < n; i++)` `  ``{` `    ``fct = fct * multi * (multi + 1);` `    ``p = p * x * x;` `    ``term = (-1) * term;` `    ``multi += 2;` `    ``sum = sum + (term * p) / fct;` `  ``}` `  ``return` `sum;` `}`   `int` `main()` `{` `  ``double` `x = 9;` `  ``int` `n = 10;` `  ``printf``(``"%.4f"``, Series(x, n));` `  ``return` `0;` `}`   `// This code is contributed by abhinavprkash.`

## Java

 `// Java program to get` `// the sum of the series` `import` `java.io.*;`   `class` `GFG {` `    `  `    ``// Function to get ` `    ``// the series` `    ``static` `double` `Series(``double` `x, ``int` `n)` `    ``{` `        ``double` `sum = ``1``, term = ``1``, fct = ``1``;` `        ``double` `p = ``1``, multi = ``1``;` `        `  `        ``// Computing sum of remaining ` `        ``// n-1 terms.` `        ``for` `(``int` `i = ``1``; i < n; i++)` `        ``{` `            ``fct = fct * multi * (multi + ``1``);` `            ``p = p * x * x;` `            ``term = (-``1``) * term;     ` `            ``multi += ``2``;` `            ``sum = sum + (term * p) / fct;` `        ``}` `        ``return` `sum;` `    ``}` `    `  `    ``// Driver Code` `    ``public` `static` `void` `main(String args[])` `    ``{` `        ``double` `x = ``9``;` `        ``int` `n = ``10``;` `        ``System.out.printf(``"%.4f"``, Series(x, n));` `    ``}` `}`   `// This code is contributed by Nikita Tiwari.`

## Python3

 `# Python3 code to get the sum of the series`   `# Function to get the series` `def` `Series(x, n):` `    ``sum` `=` `1` `    ``term ``=` `1` `    ``fct ``=` `1` `    ``p ``=` `1` `    ``multi ``=` `1` `    `  `    ``# Computing sum of remaining n-1 terms.` `    ``for` `i ``in` `range``(``1``, n):` `        ``fct ``=` `fct ``*` `multi ``*` `(multi``+``1``)` `        ``p ``=` `p``*``x``*``x` `        ``term ``=` `(``-``1``) ``*` `term` `        ``multi ``+``=` `2` `        ``sum` `=` `sum` `+` `(term ``*` `p)``/``fct` `    `  `    ``return` `sum`   `# Driver Code` `x ``=` `9` `n ``=` `10` `print``(``'%.4f'``%` `Series(x, n))`   `# This code is contributed by "Sharad_Bhardwaj".`

## C#

 `// C# program to get` `// the sum of the series` `using` `System;`   `class` `GFG {` `    `  `    ``// Function to get ` `    ``// the series` `    ``static` `float` `Series(``double` `x, ``int` `n)` `    ``{` `        ``double` `sum = 1, term = 1, fct = 1;` `        ``double` `p = 1, multi = 1;` `        `  `        ``// Computing sum of remaining ` `        ``// n-1 terms.` `        ``for` `(``int` `i = 1; i < n; i++)` `        ``{` `            ``fct = fct * multi * (multi + 1);` `            ``p = p * x * x;` `            ``term = (-1) * term; ` `            ``multi += 2;` `            ``sum = sum + (term * p) / fct;` `        ``}` `        ``return` `(``float``)sum;` `    ``}` `    `  `    ``// Driver Code` `    ``public` `static` `void` `Main()` `    ``{` `        ``double` `x = 9;` `        ``int` `n = 10;` `        ``Console.Write(Series(x, n));` `    ``}` `}`   `// This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output

`-5.1463`

Time Complexity: O(n)

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

Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Previous
Next