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

    证明用到辗转相除相减法

    定理一

    • (gcd(f[i],f[i+1])=1)
      证明:(gcd(f[i], f[i+1]) = gcd(f[i+1]-f[i], f[i])=gcd(f[i-1], f[i]))
      递归下去,所以(gcd(f[i], f[i+1]) = gcd(f[1], f[2]) = 1)

    定理二

    • (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-3]+f[m+n-4])
      (=f[m+n-2]+2*f[n+m-3]+f[n+m-4]=3*f[n+m-3]+2*f[n+m-4]=......)
      找找规律就得到了(f[m+n]=f[m−1]f[n]+f[m]f[n+1])不会正规证明

    定理三

    • (gcd(f[n+m],f[n])=gcd(f[n],f[m]))
      证明:(gcd(f[n+m], f[n])=gcd(f[m-1]f[n]+f[m]f[n+1], f[n]))
      (=gcd(f[m]f[n+1], f[n])=gcd(f[n+1],f[n])*gcd(f[m], f[n])=gcd(f[m], f[n]))

    定理四

    • (gcd(f[n],f[n+m])=f[gcd(n,n+m)])
      证明:(gcd(f[n], f[n+m])=gcd(f[n], f[m]))
      即:(gcd(f[n], f[m+n]\%f[n])=gcd(f[n], f[(m+n)\%n]))
      这是辗转相除法的形式
      最后肯定有(gcd(f[n],f[n+m])=f[gcd(n,n+m)])
  • 相关阅读:
    lua module
    lua require
    lua io
    lua table2
    lua table1
    【leetcode】魔术排列
    【leetcode】速算机器人
    【leetcode】黑白方格画
    【leetcode】根据数字二进制下 1 的数目排序
    【leetcode】插入区间
  • 原文地址:https://www.cnblogs.com/cjoieryl/p/8270820.html
Copyright © 2011-2022 走看看