📅  最后修改于: 2023-12-03 15:11:02.717000             🧑  作者: Mango
算术级数指以等差数列的方式进行求和的数列,其中等差数列的公差为常数d,每一项与前一项之差恒为d。本篇介绍如何通过编程求得给定公差d和项数n的算术级数之和S。
本程序提供两种实现方式:
由于等差数列之和的公式为: $$ S = \frac {n(a_1+a_n)}{2} $$ 其中$n$为项数,$a_1$为首项,$a_n$为末项。
则当公差为$d$,首项为$a_1$时,可得:
$$ a_n=a_1+d(n-1) $$
带入公式,可得:
$$ S=\frac {n}{2}(2a_1+(n-1)d) $$
该算式可直接计算出等差数列的和。
循环求解则通过重复计算每一项的方式进行求解,直到累加到末项为止。由于求和的实现相对简单,本篇代码示例将给出直接求解公式的实现。
def sum_arithmetic_sequence(n: int, d: float, a1: float) -> float:
"""
求和S且公差为D的算术级数的函数
:param n: int, 项数
:param d: float, 公差
:param a1: float, 首项
:return: float, 算术级数之和
"""
s = (n / 2) * (2 * a1 + (n - 1) * d)
return s
算术级数常常在数学中被使用,其等差数列的求和公式可以通过直接求解公式或循环求解方式进行实现。本文中提供了直接求解公式的示例代码。