You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python编写函数计算1+1/2!+1/3!+…+1/n!的算术序列和

实现方案

版本1:复用现有阶乘函数

直接遍历1到n的所有整数,逐次计算每个数的阶乘的倒数并累加即可,代码如下:

# 你已实现的阶乘函数
def factorial(n):
    if n == 1:
        return n
    return n * factorial(n-1) 

def calculate_series_sum(n):
    sum_result = 0
    for num in range(1, n+1):
        sum_result += 1 / factorial(num)
    return sum_result

版本2:优化性能(推荐)

上述实现每次计算阶乘都要递归调用,会产生大量重复计算,当n值较大时效率很低。可以边计算阶乘边累加,把时间复杂度从O(n²)降到O(n):

def calculate_series_sum(n):
    sum_result = 0
    current_fact = 1
    for num in range(1, n+1):
        current_fact *= num
        sum_result += 1 / current_fact
    return sum_result

测试示例

print(calculate_series_sum(4))
# 输出结果为 1.7083333333333333,对应 1 + 1/2! + 1/3! + 1/4! = 41/24 ≈ 1.7083

补充说明:这个序列是自然常数e的泰勒展开部分项,当n趋近于无穷大时,求和结果会无限接近e - 1 ≈ 1.71828。


内容的提问来源于stack exchange,提问作者owonamer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:15:02