Рекурсивное вычисление экспоненциальной функции в C
e(x)=1+ x/1! + х^2/2! + х^3/3! + ... + x^n/n! с x^n/n! < ɛ#include< stdio.h>
#include< stdlib.h>
unsigned long fact_recursive (unsigned short nombre)
{
if (number == 0)
return 1;
else
возвращаемое число * fact_recursive(число - 1);
}
unsigned int puiss(long int x, int n)
{
if(n == 0)
возврат 1;
if(n == 1)
return x;
int x2 = powers(x,n/2);
if(n%2 == 0)
отдача х2*х2;
return x2 * x2 * x;
}
double calcul_formule(int x, int n, int epsilon)
{
двойная дробь = (двойная)puiss(x,n) / (двойная)fact_recursive(n);
if(n==0)
{
return 1;
}
else{
//Проверка условия if powers(x,n)/n! > epsilon
if(дробь < эпсилон)
return fraction+calcul_formule(x,n-1,эпсилон);
else
return calcul_formule(x,n-1,эпсилон);
}
}
int main(int argc, char *argv[])
{
int x,n,epsilon;
printf("Введите значение x: ");
scanf("%d",& x);
printf("Введите значение n: ");
scanf("%d",& n);
printf( Введите значение Epsilon: ");
scanf("%d",& эпсилон);
//вычисление формулы
printf("exp( %d ) = %f\n",x,calcul_formule(x,n,epsilon) );
system("pause");
}