from math import fabs
from math import pi
def sin(x):
g = 0
t = x
n = 1
while (fabs(t) >= 1e-10):
g += t
n += 1
t = -t * x * x / (2 * n - 1) / (2 * n - 2)
return g
ans = sin(pi / 2)
print(ans)
0.9999999999939768
- 初始:
g = 0, n = 2 , t = x
进入循环- 第一步:
g = x, n=2, t = -x*x*x / 3 /2
也就是
- 第二步:
g = x - xxx/6
n = 3
t = -(-x*x*x/3/2)*x*x / 5 / 4
以此类推,也就是sinx
的公式
- 第一步:
参考:
《C++语言程序设计》 郑莉等,例3-5.