zoukankan      html  css  js  c++  java
  • 斐波那契数性质 gcd(F[n],F[m])=F[gcd(n,m)]

    引理1

    结论:

    [F(n)=F(m)F(n-m+1)+F(m-1)F(n-m) ]

    推导:

    [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(2)F(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)都成立。

    引理2

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

    证明(gcd(F(n),F(m))=F(gcd(n,m)))

    由引理1可知
    (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小的数。这不就是辗转相除法求最大公约数吗?

    于是(gcd(F(n),F(m)) = gcd(F(gcd(n,m)),F(gcd(n,m))) = F(gcd(n,m)))

    证毕。

  • 相关阅读:
    变形金刚还有一个星期!
    SQLSERVER中日期显示样式(网络收集)
    美国《商业周刊》网站提前公布的2007年度世界最有价值品牌
    昨天论文被录 开心
    怎样用javascript操作ftb编辑区内容
    c#中 @的用处
    图片滚动代码。
    一段实现分页的存储过程
    下拉列表控制文本框的个数思路
    什么是ERP (转载自百度知道)
  • 原文地址:https://www.cnblogs.com/1024th/p/10897313.html
Copyright © 2011-2022 走看看