zoukankan      html  css  js  c++  java
  • Fib的奇怪定理 : gcd(F[n],F[m])=F[gcd(n,m)]

    引理1:gcd(F[n],f[n-1])=1

    因为 F[n]=f[n-1]+F[n-2]

    所以 gcd(F[n],f[n-1]) = gcd(F[n-1]+F[n-2],F[n-1])

    gcd的更损相减的性质可知 gcd(a,b)=gcd(b,a-b)

    故  gcd(F[n],f[n-1]) = gcd(F[n-1],F[n-2])

    而 F[1]=F[2]=1故该定理成立

     

    引理2:F[m+n]=F[m-1]F[n]+F[m]F[n+1] 

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

     F[m] F[m+1] ..... F[m+n-2] F[m+n-1] F[m+n]

                                          1             1

                                      2

                    2        3

            3      5

    我们发现

    r(m+n-2) 是 Fib 的第 1 项 所以 m+n-k是Fib的第k-1项

    r(m+n-2) 是 Fib 的第 3 项 所以 m+n-k是Fib的第k+1项

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

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

    所以 F[m+n]=r(m-1)*F[m]+t(m+1)*F[m] = F[m-1]F[n]+F[m]F[n+1] 

     

    引理3:gcd(F[n+m],F[n])=gcd(F[n],F[m])

    由引理2可知: F[m+n]=F[m-1]F[n]+F[m]F[n+1] 

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

    这之间用到了辗转相除法和引理1

     

    gcd(f[m],f[n])=gcd(f[n],f[m-n])
    辗转相减法 就是gcd(f[n],f[m%n])
    辗转相除法 就是f[gcd(n,m)]

     

     

  • 相关阅读:
    iOS如何获取蓝牙Mac地址
    iOS完整App资源收集
    四月兄弟AprilBeacon
    图片360°旋转动画(
    图片圆角
    获取子字符串在元字符串中出现的所有位置
    调用系统震动 循环震动
    ibecon后台运行
    uiwebview 加载本地js、css、img,html从网站加载
    获取蓝牙mac地址
  • 原文地址:https://www.cnblogs.com/ljc20020730/p/10126623.html
Copyright © 2011-2022 走看看