https://www.cnblogs.com/Milkor/p/4734763.html
定义/递推式
(F_0=0,\,F_1=1)
(F_n=F_{n-1}+F_{n-2} quad (n>=3,n in mathbb{N}))
通项公式
推导:
类似于求解数列(a_n=pa_{n-1}+q)通项公式的待定系数法,
设
那么
解得
设等比数列(c_n=F_n-aF_{n-1},; c_1=F_1+aF_0=1,; frac{c_n}{c_{n-1}}=b)
( herefore c_n=b^{n-1} Rightarrow F_n-aF_{n-1}=b^{n-1})
(F_n = b^{n-1}+aF_{n-1})
关于斐波那契数列的一些恒等式
1: (F_1+F_2+cdots+F_n=F_{n+2}-1)
2: (F_1^2+F_2^2+cdots+F_n^2=F_{n}F_{n+1})
3: (F_1+F_3+F_5+cdots+F_{2n-1}=F_{2n})
4: (F_2+F_3+F_6+cdots+F_{2n}=F_{2n+1}-1)
5: (F_n=F_m F_{n-m+1}+F_{m-1} F_{n-m})
6: (F_{n-1} F_{n+1}=F_n^2+(-1)^n)
证明:
1~4.都是用类似的方法。
比如1: (F_1=F_3-F_1,quad F_2=F_4-F_3, cdots, quad F_n=F_{n+2}-F_{n+1})
类似的分解。然后求和就能获得结果了。
对于5:
看出系数的规律了,2=1+1,3=2+1,5=3+2,……
用数学归纳法严谨证明一下:
1)当(m=2)时,(F_n=F_2F_{n-2+1}+F_{2-1}F_{n-2}=F_{n-1}+F_{n-2})成立。
2)设当(m=k quad (2 leq k leq n-2))时,(F_n=F_k F_{n-k+1}+F_{k-1} F_{n-k})成立。
又(ecause F_{k-1}=F_{k+1}-F_k)
( herefore F_n = F_k F_{n-k+1} + left( F_{k+1}-F_k
ight) F_{n-k})
即(F_n=F_{k+1}F_{n-k}+F_k left( F_{n-k+1}-F_{n-k}
ight))
又(ecause F_{n-k+1}-F_{n-k}=F_{n-k-1})
( herefore F_n=F_{k+1}F_{n-k}+F_k F_{n-k-1}),说明当(m=k+1)时等式也成立。
综上,(F_n== F_m F_{n-m+1}+F_{m-1}F_{n-m})对于([2,n-1])内的任意一个整数(m)都成立。
斐波那契的数论相关
性质1:相邻项互质
根据gcd更相减损性质:(gcd(a,b)=gcd(b,a-b) quad (a>b))
得(gcd(F_n,F_{n-1})=gcd(F_{n-1},F_n-F_{n-1})=gcd(F_{n-1},F_{n-2}))
不断套用上式得到(gcd(F_n,F_{n-1})=gcd(F_2,F_1)=1)
性质2:(gcd(F_n,F_m)=F_{gcd(n,m)})
由恒等式5可知
(gcd(F_n,F_m) = gcd(F_m F_{n-m+1}+F_{m-1}F_{n-m},F_m) quad (n>m))
而(F_m F_{n-m+1})为(F_m)的倍数,故
(gcd(F_n,F_m) = gcd(F_{m-1}F_{n-m},F_m)) (gcd的更相减损,可以消掉(F_m)的倍数)
因为(F_m,F_{m-1})互质,于是(gcd(F_n,F_m) = gcd(F_{n-m},F_m))
递归上式,
(gcd(F_n,F_m) = gcd(F_{n-m},F_m) = gcd(F_{n-m-m},F_m) = cdots)
(gcd(F_n,F_m) = gcd(F(n mod m),F_m))
再递归上式,我们需要比较(n mod m)与(m)谁更大,用大的数mod小的数。这不就是辗转相除法求最大公约数吗?
int gcd(int i, int j){
int r = i % j;
return r == 0 ? j : gcd(j, r);
}
于是(gcd(F_n,F_m) = gcd(F_{gcd(n,m)},F_{gcd(n,m)}) = F_{gcd(n,m)})
性质3:(n mid m Leftrightarrow F_n mid F_m)
证明:当(n mid m)时,(gcd(F_n,F_m)=F_{gcd(n,m)}=F_n Rightarrow F_n mid F_m)
必要性也可以通过类似手法得证。