首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

编程之好2.9——斐波那契数列

2012-07-02 
编程之美2.9——斐波那契数列问题:斐波那契数列由如下递推关系式定义:F(0) 0,F(1)1,F(n)F(n-1)F(n-2) if

编程之美2.9——斐波那契数列

问题:

斐波那契数列由如下递推关系式定义:F(0) = 0,F(1)=1,F(n)=F(n-1)+F(n-2) if n>1。


解法:

斐波那契数列是二阶递推数列,所以存在一个2*2的矩阵A,使得:

(Fn, Fn-1) = (Fn-1, Fn-2)*A

求得A=(1   1)

            (1   0)

那么求数列的第n项就是等于求矩阵A的第n-1次幂,计算的速度非常快,时间复杂度为O(logn)。

首先我们用long long 型表示数列中的元素,它只能表示20位的整数,能表示的范围太小,最多第92个元素。


热点排行