数列 A[n] = p A[n-1] + q A[n-2] の 通项公式

这完全是一个数学问题,但有的时候可以用来解决一些计算机问题,所以简单总结一下。

感谢今天上午学长的精彩讲解。 2018.1.24


结论

对于数列A,若 An=pAn1+qAn2 A n = p ⋅ A n − 1 + q ⋅ A n − 2

那么A的通项公式就一定能表示成 An=αxn1+βxn2 A n = α ⋅ x 1 n + β ⋅ x 2 n 的形式。

其中 x1,x2 x 1 , x 2 为方程 x2pxq=0 x 2 − p ⋅ x − q = 0 的两根。(它们也被称为这个数列的特征根)

证明

我只是一个普通人,所以我并不知道数学家是如何脑洞大开,想出这个结论的,但是我们可以尝试着“反向证明”。(这个证明是我自己胡乱YY的,别听我胡扯!)

假如我们已知一个数列的通项公式为 An=αxn1+βxn2 A n = α ⋅ x 1 n + β ⋅ x 2 n ,那么我们能不能试着反推它的递推式。假如: An=pAn1+qAn2 A n = p ⋅ A n − 1 + q ⋅ A n − 2 ,那么有:

[αxn1+βxn2]=p[αxn11+βxn12]+q[αxn21+βxn22] [ α ⋅ x 1 n + β ⋅ x 2 n ] = p ⋅ [ α ⋅ x 1 n − 1 + β ⋅ x 2 n − 1 ] + q ⋅ [ α ⋅ x 1 n − 2 + β ⋅ x 2 n − 2 ]

也就是:
[αxn1]+βxn2=[pαxn11+qαxn21]+pβxn12+qβxn22 [ α ⋅ x 1 n ] + β ⋅ x 2 n = [ p ⋅ α ⋅ x 1 n − 1 + q ⋅ α ⋅ x 1 n − 2 ] + p ⋅ β ⋅ x 2 n − 1 + q ⋅ β ⋅ x 2 n − 2

我们不妨假设,这个式子可以拆成两部分:

αxn1=pαxn11+qαxn21 α ⋅ x 1 n = p ⋅ α ⋅ x 1 n − 1 + q ⋅ α ⋅ x 1 n − 2

βxn2=pβxn12+qβxn22 β ⋅ x 2 n = p ⋅ β ⋅ x 2 n − 1 + q ⋅ β ⋅ x 2 n − 2

系数约掉:

xn1=pxn11+qxn21 x 1 n = p ⋅ x 1 n − 1 + q ⋅ x 1 n − 2

xn2=pxn12+qxn22 x 2 n = p ⋅ x 2 n − 1 + q ⋅ x 2 n − 2

两个式子分别处以 xn11,xn22 x 1 n − 1 , x 2 n − 2 :

x21=px1+qx21px1q=0 x 1 2 = p ⋅ x 1 + q ⇔ x 1 2 − p ⋅ x 1 − q = 0

x22=px2+qx22px2q=0 x 2 2 = p ⋅ x 2 + q ⇔ x 2 2 − p ⋅ x 2 − q = 0

这说明如果 x1,x2 x 1 , x 2 恰是 x2pxq=0 x 2 − p ⋅ x − q = 0 的两根,该递推式就可行。

(不靠谱的证明到此结束)

以后如果我知道了正确的证明方式我就把正确的证明补上。

用法

这样的话,只需要知道这个数列中的任意两项,带入求出 α,β α , β 就得到了完整的通项公式。

用法案例:斐波那契数列

比如斐波那契数列的通项公式:

斐波那契数列的定义:

F0=F1=1 F 0 = F 1 = 1

Fn=Fn1+Fn2:n2 F n = F n − 1 + F n − 2 : n ≥ 2

它的特征方程为:

x2x1=0 x 2 − x − 1 = 0

两个特征根为: x1=1+52,x2=152 x 1 = 1 + 5 2 , x 2 = 1 − 5 2

所以通项公式为 Fn=α(1+52)n+β(152)n F n = α ( 1 + 5 2 ) n + β ( 1 − 5 2 ) n

F0,F1 F 0 , F 1 带入通项公式。

F0=α+β=1 F 0 = α + β = 1

F1=α1+52+β152=1 F 1 = α ⋅ 1 + 5 2 + β ⋅ 1 − 5 2 = 1

解方程得:

α=5+125,β=5125 α = 5 + 1 2 5 , β = 5 − 1 2 5

所以,斐波那契数列通项公式为: Fn=5+125(1+52)n+5125(152)n F n = 5 + 1 2 5 ( 1 + 5 2 ) n + 5 − 1 2 5 ( 1 − 5 2 ) n

注意,这个通项公式是从n=0开始的,我看到百度上给出了从n=1开始的通项公式。

若将 F1=F2=1 F 1 = F 2 = 1 带入通项公式:

F1=α1+52+β152=1 F 1 = α ⋅ 1 + 5 2 + β ⋅ 1 − 5 2 = 1

F2=α(1+52)2+β(152)2=1 F 2 = α ⋅ ( 1 + 5 2 ) 2 + β ⋅ ( 1 − 5 2 ) 2 = 1

解得: α=15,β=15 α = 1 5 , β = − 1 5

所以通项公式为: Fn=15(1+52)n15(152)n F n = 1 5 ( 1 + 5 2 ) n − 1 5 ( 1 − 5 2 ) n

这个式子只需要向左平移一下就可以得到刚才求出的从0开始的那个通项公式(这说明我解方程没解错)。

—> 百度百科戳这里 <—

a. 首先,要证明(Rq·)是(F*q,·)的子群,需要满足以下三个条件: 1. 封闭性:对于任意的a,b∈Rq,a·b也属于Rq,因此(Rq·)是封闭的。 2. 结合律:对于任意的a,b,c∈Rq,有(a·b)·c = a·(b·c),因此(Rq·)满足结合律。 3. 单位元素:对于任意的a∈Rq,有a·1 = a,因此1是(Rq·)的单位元素。 综上所述,(Rq·)是(F*q,·)的子群。 b. 若Nq=空集,表示在Fq中不存在非零的平方根。根据二次剩余的定义可知,当且仅当q是偶数时,-1在Fq中是二次剩余。因此,当q是偶数时,Fq中存在非零元素a,使得a^2=-1,即Fq中存在平方根。而当q是奇数时,-1在Fq中是非二次剩余,因此不存在非零的平方根。 c. 根据二次剩余的定义可知,如果p是奇素数且a是p的二次剩余,那么a^(p-1)/2 ≡ 1 (mod p)。因此,当q是奇数时,-1在Fq中是非二次剩余,因此有(Rq·)中的元素a,使得a^2=-1,满足a^q-1= (a^2)^(q-1)/2 = (-1)^(q-1)/2 = -1。因此|Rq| = q^2-1 = (q-1)(q+1) = |F*q|。 d. 将二次方程x^2-x-1=0化为模29意义下的方程,得到x^2-x-1≡0 (mod 29)。通过求解可得x≡15或x≡14 (mod 29)。因此,Fibonacci数列在F29中的通项公式为an≡15Fn-1+14Fn-2 (mod 29),其中Fn表示第n个斐波那契数。 e. 斐波那契数列在模29意义下是一个有限的循环序列。为了找到这个序列的周期,可以从前往后计算斐波那契数列,直到出现重复的数。在F29中,斐波那契数列的周期长度为28,计算方法如下: F0 = 0,F1 = 1; for i = 2 to 28: Fi = (Fi-1 + Fi-2) mod 29; 得到的序列为0, 1, 1, 2, 3, 5, 8, 13, 21, 7, 28, 6, 4, 10, 14, 24, 13, 8, 21, 6, 27, 4, 1, 5, 6, 11, 17, 28, 16。因此,周期长度为28。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值