常用数列概念

编程中经常会用到的一些数学知识和公式。

斐波那契数列

斐波那契数列,又称黄金分割数列,因数学家Leonardoda Fibonacci以兔子繁殖为例而引入,故又称兔子数列。在数学上,斐波那契数列被以如下递归的方法定义:F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2) (n>=2, n∈N*),这个数列从第三项开始,每一项是前两项的和。

1
1, 1, 2, 3, 5, 8 ...

等比数列求和

一个数列,如果任意一项与前一项的比值是一个常数,用q来代表这个常数,且任一项不为0,即A(n)/A(n-1)=q(n为自然数),这个数列叫等比数列,其中常数q叫公比。

通项公式:

an = a1 * q(n-1);

求和公式:

Sn = a1 n (q=1)
Sn = a1
(qn-1)/(q-1) (q != 1)

求和推导:

(1)Sn=a1+a2+a3+…+an (公比为q)
(2)qSn=a1q + a2q + a3q +…+ anq = a2+ a3+ a4+…+ an+ a(n+1)
(3)Sn-qSn=(1-q)Sn=a1-a(n+1)
(4)a(n+1)=a1qn
(5)Sn=a1(1-qn)/(1-q)(q≠1)

等差数列求和

一个数列,从第二项开始,每一项与前一项的差等于同一个常数,那么这个数列叫等差数列。

通项公式:

an = a1 + (n-1)d;

求和公式:

Sn = (a1 + an) * n / 2;

推导过程:

Sn = a1 + … + an
Sn = n a1 + ( 0 + 1 + 2 … + (n-1) ) d
Sn = n a1 + n (n-1) d / 2
Sn = (n
a1 + n a1 + n (n-1) d) /2
Sn = n
(a1 + an) / 2