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)

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

  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/1024th/p/10902775.html
Copyright © 2011-2022 走看看