下面是一个余弦函数的大致计算程序:但是仍然有两个测试点无法通过,不知道是为什么啊?
double fact(int n)
{
int i;
double a=1;
for (i=1;i<=n;i++)
{
a*=i;
}
return a;
}
double MyCos(double x,double epsilon)
{
int i;
int flag=-1;
double sum=0;
for (i=2;;i+=2)
{
if (pow(x,i)/fact(i)<epsilon)
return sum+1.0;
else
sum+=flag*pow(x,i)/fact(i);
flag=-flag;
}
}