输入n的值,计算cos(x)。
式子为cosx的泰勒展开式(不加余项)
输入数据有多行,每行两个数,包括x和n。第一数据为x,第二个数据为n。
输出cos(x)的值,保留4位小数。
#include<iostream>
using namespace std;
int main()
{
double x,a,sum,b;
int i,n,j,sign=1;
while(scanf("%lf %d",&x,&n)!=EOF)
{
sign=1,sum=0;//一定记得在此处归0,否则下一组循环使用时数值被改变
for(j=2;j<=2*n;j=j+2)
{
a=1,b=1;//
for(i=1;i<=j;i++)//该循环计算cos每一个数据的阶乘和x的次方
{
b=b*i;
a=a*x;
}
sign=-1*sign;//改变正负
sum=sum+sign*a/b; //每经过一轮循环记录sum
}
printf("%.4lf\n",sum+1.0);//从cos的第二个数开始计算的,最后要加上第一个数1
}
return 0;
}