关于斐波那契数列的矩阵乘法.docVIP

  • 15
  • 0
  • 约3.38千字
  • 约 6页
  • 2016-10-19 发布于重庆
  • 举报
关于斐波那契数列的矩阵乘法

浅谈矩阵乘法在斐波那契上的应用 -------------By 杜保河 【题目背景】 定义:。{fi}称为Fibonacci数列. 【题目要求】 输入n,求 ,其中1≤q≤30000。 【样例输入】 6 2 【样例输出】 1 【数据范围】 n=2000000000. 【算法分析】 因为n的范围较大,即使是O(n)的算法也不可能在1s时间内出解。 所以可以用矩阵乘法来解决此题。时间效率:O(logn) 因为, 所以。 要求,只需要先求,根据矩阵对应元素相等即可求得。求利用矩阵乘法规则即可。求的过程利用快速幂。 【参考程序1】 type sb=array[1..2,1..2]of longint; var sum,t,n,m,q,i,j:longint; tot,a:sb; procedure mul(var c:sb;a,b:sb); var i,j,k:longint; begin fillchar(c,sizeof(c),0); for i:=1 to 2 do for j:=1 to 2 do for k:=1 to 2 do c[i,j]:=c[i,j]+a[i,k]*b[k,j] mod q; end; begin re

文档评论(0)

1亿VIP精品文档

相关文档