斐波那契数列公式源码:
def fibonacci(n):
a,b = 1,1
for i in range(n-1):
a,b = b,a+b
return a
数列常见性质及结论
性质一:模除周期性;
性质二:黄金分割;
性质三:平方与前后项;
性质四:斐波那契数列的第n+2项代表了集合{1,2,...n}中所有不包含相邻正整数的子集的个数.
性质五:求和;
性质六:隔项关系;
性质七:两倍项关系
f(2n)/f(n)=f(n-1)+f(n+1)
性质八:尾数循环
个位数:周期60
最后两位:300
最后三位:1500。
斐波那契数列用矩阵推导如下:
求F(n)等于求二阶矩阵的n - 1次方,结果取矩阵第一行第一列的元素。
问题转换为二阶矩阵的n次幂。
而计算二阶矩阵的N次幂运算,由于二阶矩阵乘法满足结合律,这样,可以快速计算二阶矩阵的n次幂运算。
假设A为一个二阶矩阵,则A的幂运算满足下面的条件:
A**6=A**3∗A**3
A**7=A**3∗A**3∗A**1=A**4*A**2*A**1
在这里,我们可以类似地把A看做是二进制中的2,2**7=2**4*2**2*2**1也就是说可以把矩阵的幂转换成二进制来表示。从而可以将n次幂拆解成长度为logn的二进制数来表示:7=111(二进制)。
这就是快速求二阶矩阵的核心方法。