自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。
def factorial(n):
sum = 1
for i in range(1,n+1):
sum = sum * i
return sum
n = int(input())
result = 1
for i in range(1,n+1):
result = result + 1/factorial(i)
print("{:.8f}".format(result))
import math
def getE(n):
s = 1
for i in range(1, n + 1):
s += (1 / math.factorial(i))
return s
print(getE(10))
上面的答主答案也是对的。但是每考虑重复计算的问题。
n = int(input())
result = 1
temp = 1
for i in range(1, n + 1):
temp = temp * i
result = result + 1 / temp
print("{:.8f}".format(result))