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