📌  相关文章
📜  求系列 2、5、8、11、14 的前 N 项的总和。(1)

📅  最后修改于: 2023-12-03 15:26:56.004000             🧑  作者: Mango

求序列 2、5、8、11、14 的前 N 项总和

这是一个简单的数学问题,可以用循环或数学公式求解。

循环求解

我们可以用循环来依次计算前 N 项的和:

def sum_series(n):
    sum = 0
    for i in range(n):
        sum += 2 + 3 * i
    return sum

其中 n 是要求的项数,sum 是累加和。循环依次计算出 2、5、8、11、14 等数列中的每一项,并累加到 sum 中,最后返回总和。

数学公式求解

我们也可以用数学公式来求解。对于等差数列 $a_n = a_1 + (n-1)d$,其前 $n$ 项和为:

$$ \begin{aligned} S_n &= \frac{n}{2}(a_1 + a_n) \ &= \frac{n}{2}(2a_1 + (n-1)d) \end{aligned} $$

对于本题,$a_1 = 2$,$d = 3$。代入公式,得到:

$$ S_n = \frac{n}{2}(4 + 3(n-1)) = \frac{3n^2 + 2n}{2} $$

因此,可以直接写出如下Python代码:

def sum_series(n):
    return (3 * n ** 2 + 2 * n) // 2
总结

以上就是本题的两种解法:循环和数学公式。循环的时间复杂度为 $O(n)$,而数学公式的时间复杂度为 $O(1)$,因此后者在效率上更优。