用递归算法求解如下问题,计算到第n项为止:
f(x)=x-x^3/3!+x^5/5!-x^7/7!+...
代码如下:
#include <stdio.h>
//求阶乘
double jc(int n)
{
double s = 1;
int i = 1;
for (;i<=n;i++)
{
s *= i;
}
return s;
}
//求N次方
double cf(int x,int n)
{
int i=1;
double s=1;
for(;i<=n;i++)
{
s *= x;
}
return s;
}
//递归求值
double fun(int x,int n)
{
if(n==1)
return x;
else
return cf(-1,n-1)*cf(x,2*n-1)/jc(2*n-1) + fun(x,n-1);
}
int main()
{
int x,n;
scanf("%d %d",&x,&n);
printf("前n项的和为%g\n",fun(x,n));
return 0;
}