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

使用Python计算数列5、55、555、5555……前n项的和

计算由5、55、555…组成的数列前n项和的Python实现

方法1:循环累加生成每一项

这种方法直观易懂,通过循环逐个生成数列中的每一项,再累加求和。核心逻辑是每次将当前项乘以10再加5,得到下一项。

def sum_series(n):
    total = 0
    current = 0
    for _ in range(n):
        current = current * 10 + 5
        total += current
    return total

# 测试n=5的情况
print(sum_series(5))  # 输出:61725

方法2:数学公式法

如果n很大,循环的效率会降低,这时可以用数学公式直接计算。推导过程如下:

  • 数列的第k项为:$555...5$(k个5)=$\frac{5}{9} \times (10^k - 1)$
  • 前n项和为:$\sum_{k=1}^n \frac{5}{9}(10^k -1) = \frac{5}{9} \times \left( \frac{10(10^n -1)}{9} - n \right)$

用公式实现的代码如下:

def sum_series_math(n):
    return (5 * (10 * (10**n - 1) // 9 - n)) // 9

# 测试n=5的情况
print(sum_series_math(5))  # 输出:61725

两种方法都能得到正确结果,循环法适合小n且逻辑直观,公式法适合大n场景,计算效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:45:34