我正在尝试使用递归计算 e^x,e^x = e^(x/2)*e^(x/2),以及 e^x 的三阶麦克劳林展开式,并且脚本不断返回 1。我'不是在寻找更高精度的解决方案,只是为了了解脚本出错的地方:)
我的想法是,当函数值低于限制时,它应该以 (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