分析
第一种方法,重复计算了阶乘,而且缺少了复原。实际上阶乘的变化,每次也只是乘以n而已。
题目
自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
解法
n=int(input())
s=1
tmp=1
for i in range(1,n+1):
for j in range(1,i+1):
tmp*=j
s+=1/tmp
print("{:.8f}".format(s))
改进
n=int(input())
s=1
tmp=1
for i in range(1,n+1):
tmp*=i
s+=1/tmp
print("{:.8f}".format(s))
本文介绍了一种计算自然常数e的近似值的方法,通过优化阶乘的计算过程,提高了程序效率。针对给定的非负整数n,采用级数1+1/1!+1/2!+⋯+1/n!来计算e的近似值,并给出了两种Python实现方案。
290

被折叠的 条评论
为什么被折叠?



