一、[问题描述]自然常数e可以用级数1+1/1!+1/2!+...+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当 e(i+1)-e<error,则表示e的近似值满足误差范围。编程,从键盘输入error的值,计算并输出e的近似值,保留8位小数即可
[输入形式]输入一个 (0,0.1) 之间的实数[输出形式]输出计算所得的e的近似值,是一个实数,保留8位小数
[样例输入]0.01
[样例输出]e=2.71666667
[样例说明]
[评分标准]
def fact(n):
s=1
for i in range (1,n+1):
s*=i
return s
error=eval(input())
ei=1
n=100000000000#对于该程序而言,要求保留八位小数,所以即使要求精度极高,无意义
for i in range (1,n):
ei+=1/fact(i)
ei1=ei+1/fact(i+1)
if ei1-ei<error:
break
print("e={:.8f}".format(ei1))
二、
[问题描述]自然常数e可以用级数1+1/1!+1/2!+...+1/n!来近似计算。当任意项小于10^-4时结束计算。
[输入形式]五
[样例输出]e=2.71666667
[样例说明]可参考:print(”e的近似值为: f”.format(e))
[评分标准]
def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
ei = 1
n = 1
while 1 / fact(n) >= 10 ** (-4):
ei += 1 / fact(n)
n += 1
print("e的近似值值为:{:.6f}".format(ei))