我正在尝试使用递归来计算e ^ x,e ^ x = e ^(x/2)*e ^(x/2),并且e ^ x的三阶Maclaurin扩展和脚本保持返回1. I我不是在寻找更高精度的解决方案,只是想了解脚本出错的地方:)
我的想法是,当函数值低于限制时,如果有足够的迭代,它应该以(1 + x/N +(x/N)^ 2/2)^ N结束.
def exp(x):
if abs(x)<0.0001:
return 1+x+x**2/2
else:
y=exp(x/2)
return y*y
Run Code Online (Sandbox Code Playgroud)