您的位置:首页 > 其它

矩阵相乘求斐波那契

2016-07-19 20:45 706 查看
高产。。。(保质保量???)

斐波那契数列相信大家一定非常熟悉嘿(不懂的现在举手,然后出去666)。斐波那契数列又怎么用矩阵来求呢??

首先,给大家普及一下矩阵相乘的知识,两个矩阵,一个下标为i,j,一个下标为j,k就可以相乘,相乘方法如下:

|4 3 1|                                                                             |2 3 3|

|2 6 8|                                                              *           |5 6 6|

  (凑合着看吧。

就当成矩阵吧)                                |7 7 7|

这些数当然没什么含义,就是举个栗子而已。

用第一个的行与第二个的列进行操作,也就是两个的每个元素相乘然后加起来,做合成新矩阵的元素,如果上面两个矩阵相乘,答案就是这样的:

|30 37 37|

|90 98 98|

懂了吧,没懂就多看几遍嘿


我就直接用poj上的图了


这个中间的矩阵特别神奇,自己试试看,就是求斐波那契数列!!

所以求斐波那契数列的第N项就是中间的那个数列的N次方,N次方就用乘法,然后用斐波那契的矩阵乘一下就行了。

在这里先不涉及快速幂,这道题在poj3070要用快速幂,下次再更,拜拜~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: