第4章-13.求误差小于输入值的e的近似值 (20分)


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

输入格式:

在一行输入误差范围。

输出格式:

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

输入样例1:

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

0.01 
 

输出样例1:

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

2.716667 
 

输入样例2:

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

0.000000001 
 

输出样例2:

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

2.718282
 1 # 求误差小于输入值的e的近似值
 2 # Author: cnRick
 3 # Time  : 2020-3-29
 4 def factor(n):
 5     if n == 0:
 6         return 1.0
 7     result = 1.0
 8     for i in range(1,n+1):
 9         result *= i
10     return result
11 def getE(i):
12     result = 0
13     for x in range(0,i+1):
14         result = result + 1.0/factor(x)
15     return result
16 
17 error = float(input()) # 输入误差
18 cnt = 0
19 while True:
20     if (getE(cnt+1) - getE(cnt)) < error:
21         result = getE(cnt+1)
22         print("{:.6f}".format(result))
23         break
24     cnt += 1
25     

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM