一.泰勒公式
1.输出S的值,精度1e-6
void fun()
{
int n=1;
double taylor=1/(1.0*(2*n-1))*(1.0*(2*n))/(1.0*(2*n-1));
double sum=0;
while(taylor>1e-6)
{
sum+=taylor;
n++;
taylor=1/(1.0*(2*n-1))*(1.0*(2*n))/(1.0*(2*n-1));
}
printf("%f",sum);
}
2.编写函数,计算数列的前n项和。例如当n等于5时s(5) = 1 - 1/2 + 1/3 - 1/4 + 1/5
void fun(int n)
{
int k=1,sign=1;
double result=1.0,sum=0;
for(k=1;k<=n;k++)
{
result=1.0/k*sign;
sum+=result;
sign*=-1;
}
printf("%f",sum);
}
3.编写函数,实现按照如下公式计算的功能:
int fac(int n)
{
if(n==0||n==1)
return 1;
else return n*fac(n-1);
}
void fun(int n)
{
int i=0;
double sum=0,result=0;
for(i=0;i<=n;i++)
{
result=1.0*i/(1.0*(i+1)*fac(i+2));
sum=sum+result;
}
printf("%f",sum);
}
4.编写函数,按照如下公式计算圆周率π的值(精确到1e-5)