最近,中科大2024年强基数学考试的压轴题引起了广泛关注。题目如下:
有数列Fn=Fn−1+Fn−2,F1=1,F2=1,求F1958的个位数
这个数列是著名的斐波那契数列,对此类多项递推问题,我们可以采用改写矩阵形式的方法解决。
斐波那契数列的矩阵递推形式
我们可以将斐波那契数列的递推式写成矩阵形式:
(Fn+1Fn)=(1110)(FnFn−1)
这就是一个典型的乘积递推问题,显然我们可以找到其通项公式:
(FnFn−1)=(1110)n−2(F2F1)
变换可知:
Fn=∣(10)(FnFn−1)∣=∣(10)(1110)n−2(11)∣
至此我们可以用矩阵快速幂求解。
对模10意义下的性质解析
由于此题为笔试题,直接手算矩阵快速幂显然是不优雅的,在进行矩阵快速幂的同时,我们可以对模10意义下的性质进行分析。
不难发现,矩阵(1110)的22次方等于其26次方。
那么该矩阵模10意义下的n次幂存在周期T,且T≤60。
此时我们就可以对n−2取模以简化运算。
方阵幂算法
对于此类多项递推问题,我们还可以通过方阵幂算法求解其通项公式。
方阵幂算法的核心是对矩阵通过矩阵的特征值进行对角化,然后通过对角化矩阵的幂求解原矩阵的幂。
该数列的递推矩阵即可对角化过程如下:
求解其特征值:
∣∣∣∣∣1−λ11−λ∣∣∣∣∣=0
解得λ=21±5,对应特征向量为(21+51)和(21−51)。
那么我们可以得到:
(1110)=(21+5121−51)⎝⎛(21+5)00(21−5)⎠⎞(21+5121−51)−1
此时利用矩阵对角化的特性:
(1110)n−1=(21+5121−51)⎝⎜⎜⎛(21+5)n−100(21−5)n−1⎠⎟⎟⎞(21+5121−51)−1
至此我们可以将以上结果代入矩阵形式通项公式得到结果。