因为无聊,回想上学时的一些数学分析的题目,实现一个sin玩玩。
//sin x≈x/1!-x^3/3!+x^5/5!-...(-1)^(n-1) x^(2n-1)/(2n-1)!
double mysin(double x)
{
int n = 15;//迭代15次,可以根据需要修改迭代次数或改成参数传进来
double x = 3.1415926*30.0/180;//
double s = 0.0;
double y = x;
int flag = -1;
int i = 1;
int mul = 1;
n *= 2;
for (i = 1; i< n; i+=2)
{
s += y/mul;
mul *= (i+1)*(i+2);
y *=x*x*flag;
}
return s;
}