[题目描述]
利用公式 e=1+1/1!+1/2!+1/3!+⋯+1/𝑛!,求 e 的值,要求保留小数点后 10 位。
输入:
输入只有一行,该行包含一个整数 n,表示计算 e 时累加到1/n!。
输出:
输出只有一行,该行包含计算出来的 e 的值,要求打印小数点后 10 位。
样例输入1
10
样例输出1
2.7182818011
提示:
2≤n≤15。
来源/分类(难度系数:一星)
完整代码展示:
# coding=utf-8
import math
a=int(input())
sum=1
for i in range(1,a+1):
b=math.factorial(i)
c=1/b
sum+=c
print("{:.10f}".format(sum))
代码解释:
“# coding=utf-8
import math
a=int(input()) ”,导入math函数,让用户输入a,表示e需要推导到1/a!。
“sum=1
for i in range(1,a+1):
b=math.factorial(i)
c=1/b
sum+=c ”,令sum=1(e的推导式的第一项为1)。依次遍历区间在[1,a]的i,令b=math.factorial(i)(math.factorial()的意思是求阶乘)。c=1/b,sum+=c,依次完成对e的推导式中各项的叠加。直至i循环至i=a,循环结束。
“print("{:.10f}".format(sum)) ”,打印最终结果,并保留10位小数。
运行效果展示: