# C++ Program to Estimate value of 'e' and e^x

Updated on October 28, 2016 The author is a resilient graduate in electrical engineering, and an aspiring professional in the said area.

This is a simple code for the program to estimate value of e and e^x (e power x) using factorials. It is coded by building on three different programs.

• The first part finds the factorial of a given number.
• The second one incorporates this factorial code to estimate the value of 'e'.
• The third program incorporates the second one with some editions to estimate the value of e^x.

## C++ Program to find Factorial of a given Number

```#include <iostream>
using namespace std;

int main ()
{
int A, B, D=1;

cout<<"Enter The Integer\n";
cin>>A;

for (B=1; B<=A ; B++ )
{
D = D * B;
}
cout<<"Factorial is : "<<D<<endl;
system("pause");
}```

## Logic:

We have to multiply the given number whose factorial is going to be computed by all the numbers less then that number. To do this we will be using a for loop and its condition will be set at that given number.

Line 6: All necessary variables are initialized, it is necessary to set D as 1 initially.

Line 9: Asks us to input that number whose factorial is to be found. It is stored in variable A.

Line 11: Initiates a for loop with A as its condition.

Line 13: This is the most important step. Due to the for loop B will have all the values from 1 till A and its value will increase by 1 each time the loop runs. D was already initialized as 1.

Now Understand this bit, first time the loop runs B is 2 it is multiplied by D which was 1 and the answer 2 is stored again in D. When the loop runs next time B is 3 and D is 2, they both are multiplied and result 6 is stored in D. It goes on like this until loop terminates and at that times D gives the value of the factorial.

## C++ Program to estimate the value of 'e'

```#include <iostream>
#include <iomanip>
using namespace std;

int main ()
{
int A, B;
double E, D;

for (A=1; A<=15; A++ )
{
D=1;
for (B=1; B<=A ; B++ )
{
D = D * B;
}
E = E + 1 / D;
}
cout<<setprecision(10)<<"Estimated Value of e is "<< E + 1 <<endl;
system("pause");
```

We will use the formula 1 + 1/1! + 1/2! + 1/3!... to estimate value of 'e' so see, you have to use the factorial in this computation and hence the C++ code for finding factorial given above will be incorporated into it.

## Logic:

Note that the formula uses factorials of numbers which are increasing by a factor of 1 so just simply put the factorial code you wrote earlier into another for loop, the rest is just simple maths and the job is done.

Line 2: Includes the <iomanip> library file which includes the 'set precision' function.

Line 8: Now it is important to initialize our variables as 'doubles' because now calculation will involve decimal values.

Line 10: Initiates a for loop to calculate factorials from 1 to 15.

Line 12-16: The code for finding factorial is incorporated here. It becomes a nested for statement.

Line 17: Performs other calculation according to the formula.

Line 19: Sets the precision of the answer to 10 decimal places and prints the value of e which was stored in variable E. (we did E + 1 according to the formula in the last)

## C++ Program to estimate value of e^x

```#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main ()
{
int A, B;
double E, D;
double X, Y;

cout<<"Enter The Value of X to estimate e^X : ";
cin>>X;

for (A=1; A<=100; A++ )
{
D=1;
for (B=1; B<=A ; B++ )
{
D = D * B;
}
Y = pow (X,A);
E = E + Y / D;
}
cout<<setprecision(10)<<"Estimated Value of e^X is "<< E + 1 <<endl;
system("pause");
}```

We will use the formula e^x = 1+x/1! + (x^2)/2! + (x^3)/3!.... to estimate value of e^x (e power x) so the C++ code used to estimate value of e will be incorporated into it.

## Logic:

Again we can achieve this by doing a few additions to our previous code. We only need to replace one which was being divided by the factorial with a variable X. We will enter this into program. Power of X can be calculated by the function pow(base,power). Where A is going to be the power which will increase by a factor of one due to the for loop.

Line 3: Includes the <cmath> library which contains the pow() function.

Line 14: Prompts for value of X.

Line 16-22: Code for estimating value of 'e' is incorporated here.

Line 23: Variable Y is assigned the value of pow(X,A) where A increases by a factor of 1 each time the loop runs.

Line 24: Calculation according to the given formula.

Line 26: Prints the estimated value of e^x after adding one to it like we did in our previous code.

0 of 8192 characters used
• denise

3 years ago

thank you so much! it helps a lot~ good job

• M K Paul

5 years ago from India

though I am a software engineer and my platform was in MFC and then core C++.Useful hub I must say..Good Job.

working