Efficient program to calculate e^x

2.5

The value of Exponential Function e^x can be expressed using following Taylor Series.

e^x = 1 + x/1! + x^2/2! + x^3/3! + ...... 

How to efficiently calculate the sum of above series?
The series can be re-written as

e^x = 1 + (x/1) (1 + (x/2) (1 + (x/3) (........) ) ) 

Let the sum needs to be calculated for n terms, we can calculate sum using following loop.

for (i = n - 1, sum = 1; i > 0; --i )
    sum = 1 + x * sum / i; 

Following is implementation of the above idea.

C/C++

// C Efficient program to calculate
// e raise to the power x
#include <stdio.h>

// Returns approximate value of e^x 
// using sum of first n terms of Taylor Series
float exponential(int n, float x)
{
    float sum = 1.0f; // initialize sum of series

    for (int i = n - 1; i > 0; --i )
        sum = 1 + x * sum / i;

    return sum;
}

// Driver program to test above function
int main()
{
    int n = 10;
    float x = 1.0f;
    printf("e^x = %f", exponential(n, x));
    return 0;
}

Java

// Java efficient program to calculate 
// e raise to the power x
import java.io.*;

class GFG 
{
    // Function returns approximate value of e^x 
    // using sum of first n terms of Taylor Series
    static float exponential(int n, float x)
    {
        // initialize sum of series
        float sum = 1; 
 
        for (int i = n - 1; i > 0; --i )
            sum = 1 + x * sum / i;
 
        return sum;
    }
    
    // driver program
	public static void main (String[] args) 
	{
		int n = 10;
		float x = 1;
		System.out.println("e^x = "+exponential(n,x));
	}
}

// Contributed by Pramod Kumar


Output:
e^x = 2.718282

This article is compiled by Rahul and reviewed by GeeksforGeeks team. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.

Recommended Posts:



2.5 Average Difficulty : 2.5/5.0
Based on 9 vote(s)










Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.