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

    斐波那契数列的鬼畜的性质

    斐波那契数列定理1

    (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[1],f[2])=1)

    斐波那契数列定理2

    (f[m+n]=f[m-1]f[n]+f[m]f[n+1])
    证明:
    (f[m+n]=f[n+m-1]+f[n+m-2])
    (=2*f[n+m-1]+f[n+m-3])
    (=....)
    (f[n+m]=a[x]f[n+m-x]+b[x]f[n+m-x-1])
    (=a[x](f[n+m-x-1]+f[n+m-x-2])+b[x]f[n+m-x-1])
    (=(a[x]+b[x])f[n+m-x-1]+a[x]f[n+m-x-2])
    所以
    (x=1)时,(a[1]=f[2]=1,b[1]=f[1]=1)
    (x=2)时,(a[2]=f[1]+f[2]=f[3]=2,b[2]=a[1]=1)
    (x=k+1)时,(a[k+1]=a[k]+b[k]=f[k+1]+f[k]=f[k+2],b[k+1]=a[k]=f[k+1])
    所以,当(x=n)
    (f[n+m]=a[n]f[m]+b[n]f[m+1])
    (=f[n+1]f[m]+f[n]f[m-1])

    斐波那契数列定理3

    (gcd(f[n+m],f[n])=gcd(f[n],f[m]))
    由上面式子得到
    (gcd(f[n+m]=f[m-1]f[n]+f[m]f[n+1],f[n]))
    (=gcd(f[n+1]f[m],f[n]))
    (=gcd(f[n+1],f[n])*gcd(f[m],f[n]))
    (=1*gcd(f[m],f[n]))
    (=gcd(f[m],f[n]))

    斐波那契数列定理4

    (gcd(f[n],f[n+m])=f[gcd(n,n+m)])
    证明
    (gcd(f[n],f[n+m]))
    (=gcd(f[n],f[n+m]\%f[m]))
    (=gcd(f[n],f[m]))
    (=gcd(f[n],f[(n+m)\%n]))
    这是辗转相除的形式
    所以,最后有
    (gcd(f[n],f[n+m]))
    (=gcd(f[0],f[gcd(n,n+m)]))
    (=f[gcd(n,n+m)])

  • 相关阅读:
    线程安全的简单理解
    单链表 之 判断两链表是否交叉
    React组件间的通信
    input type=file美化
    Array.prototype.slice.call(arguments)
    ES5 数组方法every和some
    nodejs学习之表单提交(1)
    ES5 数组方法reduce
    ES5 数组方法map
    ES5 数组方法forEach
  • 原文地址:https://www.cnblogs.com/cjyyb/p/7799380.html
Copyright © 2011-2022 走看看