zoukankan      html  css  js  c++  java
  • 斐波那契数列的性质整理

    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}))

    通项公式

    [F_n = frac{1}{sqrt5} left[ left(frac{1+sqrt 5}{2} ight)^n+left(frac{1-sqrt 5}{2} ight)^n ight] ]

    推导

    类似于求解数列(a_n=pa_{n-1}+q)通项公式的待定系数法,

    [F_n-aF_{n-1}=b(F_{n-1}-aF_{n-2}) ]

    那么

    [F_n = (a+b)F_{n-1}-ab cdot F_{n-2} \ left{ egin{aligned} a+b=1 \ -ab=1 end{aligned} ight. ]

    解得

    [left{ egin{aligned} a&=frac{1+sqrt 5}{2} \ b&=frac{1-sqrt 5}{2} end{aligned} ight. quad ext{or} quad left{ egin{aligned} a&=frac{1-sqrt 5}{2} \ b&=frac{1+sqrt 5}{2} end{aligned} ight. ]

    设等比数列(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})

    [left{ egin{aligned} F_n&=left( frac{1+sqrt 5}{2} ight)^{n-1}+left(frac{1-sqrt 5}{2} ight)F_{n-1} \ F_n&=left( frac{1-sqrt 5}{2} ight)^{n-1}+left(frac{1+sqrt 5}{2} ight)F_{n-1} end{aligned} ight. ]

    [left( frac{1+sqrt 5}{2} ight)^{n-1}+left(frac{1-sqrt 5}{2} ight)F_{n-1} = left( frac{1-sqrt 5}{2} ight)^{n-1}+left(frac{1+sqrt 5}{2} ight)F_{n-1} ]

    [sqrt{5}F_{n-1}=left( frac{1+sqrt 5}{2} ight)^{n-1}+left( frac{1-sqrt 5}{2} ight)^{n-1} ]

    [F_n = frac{1}{sqrt5} left[ left(frac{1+sqrt 5}{2} ight)^n+left(frac{1-sqrt 5}{2} ight)^n ight] ]

    关于斐波那契数列的一些恒等式

    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:

    [egin{aligned} F_n &= F_{n-1}+F_{n-2} \ &= 2F_{n-2}+F_{n-3} \ &= 3F_{n-3}+2F_{n-4} \ &= 5F_{n-4}+3F_{n-5} \ &= cdots \ &= F_m F_{n-m+1}+F_{m-1}F_{n-m} end{aligned} ]

    看出系数的规律了,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(F_n,F_{n-1})=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)

    必要性也可以通过类似手法得证。

  • 相关阅读:
    node中fs模块
    node生成excel,动态替换表格内容
    Postgresql存放数组形式的数据
    ubuntu下安装typescript
    随笔6
    excel文件导出相应数据统计内容
    随笔4
    随笔3.2
    随笔2
    随笔1
  • 原文地址:https://www.cnblogs.com/1024th/p/10902775.html
Copyright © 2011-2022 走看看