求e的近似值
题目描述自然常数e可以用级数1+1/1!+1/2!+·…+1/n!+··来近似计算。本题要求对给定的非负整数n,求该级数的前 n+1项和。
输入
输入第一行中给出非负整数n(≤1000)。
输出
在一行中输出部分和的值,保留小数点后八位。
输入样例
10
输出样例
2.71828180
为了计算给定非负整数n的级数前n+1项和,我们可以使用Python代码来实现。
这里是一个示例代码来计算e的近似值:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
def approximate_e(n):
e_approximation = 0
for i in range(n + 1):
e_approximation += 1 / factorial(i)
return e_approximation
n = int(input())
result = approximate_e(n)
print("{:.8f}".format(result))
根据题目中的输入样例:10,这段代码会输出:2.71828180,与题目要求的输出样例一致。 本帖最后由 kg120 于 2023-4-11 21:54 编辑
n=int(input("input a nonnegative integer(0<n<=1000):n="))
# 0!=1,所以sum初始值为1
sum=float(1)
for i in range(1,n+1):
# 注意每次加上的an都要从1开始乘1/(n!),所以每次都要给an初始化为1
an=float(1)
for j in range(1,i+1):
an*=float(1/j)
sum+=an
# 输出的格式化
print("e=={:<0.8f}".format(sum),sep='',end='\n') n = int(input())
if 0 < n < 1001:
d , e = 1 , 1
for x in range(1 , n + 1):
d *= x
e += 1 / d
print('%.8f' % e)
页:
[1]