分析
首先建立一个取ei的函数,while判断是否满足条件。不符合条件,cnt自增1,继续判断。直至满足条件
题目
自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当
ei+1-ei<error,则表示e的近似值满足误差范围。
输入格式:
在一行输入误差范围。
输出格式:
在一行输出e的近似值(保留6位小数)。
解法
n=float(input())
def e(n):
m=1
s=1
for i in range(1,n):
m*=i
s+=1/m
return s
cnt=1
while(True):
if abs(e(cnt)-e(cnt+1))<n:
print("{:.6f}".format(e(cnt+1)))
break
else:
cnt+=1