# C Program: Exponential Series

The number $e$ is a famous mathematical constant known as Euler's Number, named after the well-known Swiss mathematician Leonhard Euler.

It is irrational and has the approximate value 2.71828. For a given $x$ in $R$, the exponential function $e^{x}$ or sometimes $\text{exp}(x)$ is given by

$e^{x} = 1 + x + \frac{x^{2}}{2!} + \frac{x^{3}}{3!} + \frac{x^{4}}{4!} + ...$

The series can be derived by applying Maclaurin's Series to the exponential function $e^{x}$.

The exponential series converges for all values of $x$.

We observe the terms of the series and note that since $x^{0} = 1$ and $0! = 1$, the first term, which is $1$, can also be written as $\frac{x^{0}}{0!}$, conforming with rest of the terms in the series. So, each term of the series is actually $\frac{x^{n}}{n!}$, where $n = 0, 1, 2, 3, ...$. For computing the numerator and denominator of each term, we will be needing the power and factorial functions.

The actual summation of the series terms takes place inside the `while`

loop, where the `power()`

and `factorial()`

functions are invoked.

` ````
#include <stdio.h>
unsigned long factorial(unsigned short int);
float power(float, unsigned short int);
int main() {
unsigned short n, i = 0;
float x, sum = 0;
printf("n: ");
scanf("%hu", &n);
printf("x: ");
scanf("%f", &x);
while(i < n) {
sum += power(x,i)/(float) factorial(i);
i++;
}
printf("Sum upto %hd terms = %f", n, sum);
return 0;
}
float power(float x, unsigned short n) {
float pow = 1;
while(n > 0) {
pow *= x;
--n;
}
return pow;
}
unsigned long factorial(unsigned short n) {
unsigned long f;
if(n == 0 || n == 1)
return 1;
else
f = n * factorial(n-1);
return f;
}
```

We will verify our summation values for some trivial values of $x$.

When $x = 0$, it is $e^{0}$, and hence the computed sum should be 1.

When $x = 1$, $e^{1} = e \approx 2.71828$, so our summation result should give the value close to 2.71828 for considerable number of $n$.