【题解】【PTA-Python题库】第4章-13 求误差小于输入值的e的近似值 (20 分)

求误差小于输入值的e的近似值

自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当ei+1-ei

输入格式:

在一行输入误差范围。

输出格式:

在一行输出e的近似值(保留6位小数)。

输入样例1:

在这里给出一组输入。例如:

0.01

输出样例1:

在这里给出相应的输出。例如:

2.716667

输入样例2:

在这里给出一组输入。例如:

0.000000001

输出样例2:

在这里给出相应的输出。例如:

2.718282

思路:

注意是前i+1项的和与前i项的和之差控制循环。(谢谢下面评论的朋友提醒)

代码如下:

e = float(input())
a = 1
i = 2
t = 2
b = 1 / t
sum = 1 + 1
e1 = 1
e2 = sum
while e2 - e1 >= e:
    e1 = e2
    a = b
    sum = sum + a
    e2 = sum
    i = i + 1
    t = t * i
    b = 1 / t
print('{:.6f}'.format(sum))

你可能感兴趣的:(#,PTA-Python题库)