天天看点

解等差数列

概念解析

等差数列是常见数列的一种,如果一个数列从第二项起,每一项与它的前一项的差等于同一个常数,这个数列就叫做等差数列,而这个常数叫做等差数列的公差,公差常用字母d表示。

例如:1,3,5,7,9……2n-1。

通项公式为:an=a1+(n-1)d。首项a1=1,公差d=2。

通项公式推导:

a2-a1=d;a3-a2=d;a4-a3=d……an-a(n-1)=d,将上述式子左右分别相加,得出an-a1=(n-1)d→an=a1+(n-1)d。

前n项和公式为:Sn=a1n+[n(n-1)d]/2

Sn=[n(a1+an)]/2

Sn=d/2n²+(a1-d/2)*n

注:以上n均属于正整数。

等差数列公式包括:求和、通项、项数、公差…等

解等差数列

代码实现

第一步:用户输入

需要输入首项、公差和 n (前n项,或者第n项中的n)

a1 = float(input("请输入首项:"))
d = float(input("请输入公差:"))
print("请输入n    (前n项,或者第n项中的n:)")
n = int(input())
           
第二步:生成数据

根据等差数列规律逐个添加数据。

def num(a):
    if int(a) == float(a):
        return int(a)
    return float(a)
#生成数据
li = [0]
for i in range(1,n + 1):
    li.append(num(a1 + d * (i - 1)))
           

考虑到实际数学问题,方便起见,列表的索引(下标)与等差数列中每一项的下标一致。

同时,列表的索引为 0 时,对应的数据为 0,不影响接下来的求和功能。

第三步:得到结果
print("\n该数列的第",n,"项为:")
print(li[-1])

print("\n该数列的前",n,"项:")
print(li[1:])

print("\n前",n,"项的和为:")
print(sum(li))
           

功能演示

解等差数列