6-5 用多项式来近似表示余弦函数cosx (20 分)
在数学上对一些复杂的函数,常用多项式来近似表示函数。例如正弦函数cosx是用如下多项式来近似表达的:
cosx=1−
2!
x
2
- 4!
x
4
−
6!
x
6
+⋯+(−1)
n−1
(2n−2)!
x
2n−2
+⋯
在实际计算时当多项式尾项(−1)
n−1
(2n−2)!
x
2n−2
的绝对值小于一个预定值ε(例如10
−5
或10
−6
)时可认为达到了计算精度要求,结束计算。请根据题目描述编写函数计算在x∈[0,π]处点的余弦值。
编程要求:
编写两个函数,一个是求cosx的函数MyCos(x),另一个是求n!的函数fact(n)。在函数MyCos(x)中调用fact(n)函数。其中公式中的x
n
可用库函数pow(x,n)来实现。
函数接口定义:
求n!的函数接口:
double fact(int n);
参数n是要求阶乘的数,是一个整数类型的参数,函数的返回值为double型.
求sinx值的函数:
double MyCos(double x,double epsilon);
其中x是cosx的自变量参数,epsilon是计算精度要求参数。
裁判测试程序样例:
#include <stdio.h>
/* 请在这里填写答案 */
int main()
{
double x,epsilon;
scanf("%lf%lf",&x,&epsilon);
printf("%.15f\n",MyCos(x,epsilon));
return 0;
}
输入说明:
在一行内输入两个数,两数之间用空格间隔,其中第一个数是自变量的值,第二者数是计算精度要求值。
输出说明:
输出一个值,输出保留17位小数。