C에서 지수 함수의 재귀 계산
e(x)=1+ x/1! + x^2/2! + x^3/3! + ... + x^n/n! 와 x^n/n! < 스팬> Ɛ#include< stdio.h>
#include< stdlib.h입니다>
unsigned long fact_recursive (unsigned short nombre)
{
if (숫자 == 0)
반환 1스팬>;
else
반환 번호 * fact_recursive(숫자 - 1스팬>);
}
unsigned int puiss(long int x, int n)
{
if(n == 0)
반환 1;
if(n == 1)
return x;
int x2 = 거듭제곱(x,n/2);
if(n%2 == 0)
x2*x2 반환;
return x2 * x2 * x;
}
double calcul_formule(int x, int n, int epsilon)
{
이중 분수 = (double)puiss(x,n) / (double)fact_recursive(n);
if(n==0)
{
반환 1스팬>;
}
else{
//powers(x,n)/n인 경우 조건 검증! > epsilon
if(분수 < 엡실론)
반환 분수+calcul_formule(x,n-1,엡실론);
else
return calcul_formule(x,n-1,엡실론);
}
}
int main(int argc, char *argv[])
{
정수 x,n,엡실론;
printf("x의 값을 입력하십시오 : "< / span>);
scanf("%d",& x);
printf("n 값 입력: ");
scanf("%d",& n);
printf( 엡실론의 값을 입력합니다: ");
scanf("%d",& 엡실론);
//수식 계산
printf("exp( %d ) = %f\n",x,calcul_formule(x,n,엡실론) );
system("일시 중지");
}