您的位置:首页 > 编程语言 > Python开发

(python)利用下面的计算公式计算e的近似值,要求最后一项小于10-6

2020-06-04 07:49 309 查看

实现如下算法

可以有多种方式实现这个算法,简单列举几种基础算法
最后的答案是:

第一种

i = 1
n = 1
e = 0
while 1 / n >= pow(10, -6):
e += 1 / n
n *= i
i += 1
print(e+1/n)

第二种 递归算法实现阶乘

def fac(x):
if (x == 1 or x == 0):
return x;
else:
return x * fac(x - 1)

i = 1
s = 1
while 1 / fac(i) >= pow(10, -6):
s = s + 1 / fac(i)
i+=1
s = s + 1 / fac(i)
print(s)

第三种

i = 1
n = 1
e = 0
while True:
if 1 / n <= 10 ** -6:
e += 1 / n
break
else:
e += 1 / n
s = 1;
for j in range(1, i + 1):  # 求n的阶乘
s = s * j
n = s
i += 1
print(e)

第四种

i = 1
n = 1
e = 0
while True:
if 1 / n <= pow(10, -6):
e += 1 / n
break
else:
e += 1 / n
n *= i
i += 1
print(e)

第五种

def sum(x):
i = 1
n = 1
e = 0
while 1 / n >= x:
e += 1 / n
n *= i
i += 1
return e + 1 / n

e = sum(pow(10, -6))
print(e)

以上方法殊途同归,写法有所不同,算法大抵相同

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐