引理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]

我们发现

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

 

Fib的奇怪定理 : gcd(F[n],F[m])=F[gcd(n,m)]的更多相关文章

  1. Geometric regularity criterion for NSE: the cross product of velocity and vorticity 3: $u\times \f{\om}{|\om|}\cdot \f{\vLm^\be u}{|\vLm^\be u|}$

    在 [Chae, Dongho; Lee, Jihoon. On the geometric regularity conditions for the 3D Navier-Stokes equati ...

  2. HDU 1005 Number Sequence【斐波那契数列/循环节找规律/矩阵快速幂/求(A * f(n - 1) + B * f(n - 2)) mod 7】

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. 函数$f(x+1)$和$f(x-1)$的奇偶性

    前言 廓清认知 1.函数\(y=f(x)\)的奇偶性 ①\(y=f(x)\)为奇函数,则满足\(f(-x)+f(x)=0\),即关于点\((0,0)\)对称: ②\(y=f(x)\)为偶函数,则满足\ ...

  4. F#之旅3 - F# PK C#:简单的求和

    原文链接:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-sum-of-squares.html Comp ...

  5. F#之旅1 - Why use F#?为什么要用F#?

    原文地址:http://fsharpforfunandprofit.com/why-use-fsharp/ Why use F#?Why you should consider using F# fo ...

  6. 几何入门合集 gym101968 problem F. Mirror + gym102082 Problem F Fair Chocolate-Cutting + gym101915 problem B. Ali and Wi-Fi

    abstract: V const & a 加速 F. Mirror 题意 链接 问题: 有n个人在y=0的平面上(及xoz平面).z=0平面上有一面镜子(边平行于坐标轴).z=a平面上有q个 ...

  7. rm -f + 文件名+* 与 rm -f + 文件名* 的不同效果,大坑呀。

    rm -f catalina.2018-10-22.*    与*号间无空格 rm -f catalina.2018-10-22. *    :多了空格:

  8. Python文件读取中:f.seek(0)和f.seek(0,0)有什么区别

    file.seek()方法标准格式是:seek(offset,whence=0)offset:开始的偏移量,也就是代表需要移动偏移的字节数whence:给offset参数一个定义,表示要从哪个位置开始 ...

  9. SPOJ PGCD 4491. Primes in GCD Table && BZOJ 2820 YY的GCD (莫比乌斯反演)

    4491. Primes in GCD Table Problem code: PGCD Johnny has created a table which encodes the results of ...

随机推荐

  1. 大数据入门第十二天——azkaban入门

    一.概述 1.azkaban是什么 通过官方文档:https://azkaban.github.io/ Azkaban is a batch workflow job scheduler create ...

  2. EZ 2018 04 06 NOIP2018 模拟赛(七)

    我是链接 这次是真的惨,码了将近2hours的可持久化线段树炸掉了! 而且本地拍了一万年也没发现哪里炸了. T1 压位的入门题,话说这道题能拿个99分就可以了(100分要FFT) 对于暴力,就是暴力找 ...

  3. SPA程序加载首界面eclipse卡顿解决笔记

    最近在开发SPA程序项目时遇到一个问题,因为是在开发阶段,所以直接就在eclipse中启动项目. 每次进入首界面时,eclipse就会长时间卡顿,前端界面也加载不出来,很影响开发效率. 在查找问题的时 ...

  4. Jmeter+ant+Jenkins构建接口自动化测试

    1.已写好jmeter脚本 2.安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter 3.修改jmeter的jmeter.properties文件(将 ...

  5. 1分钟,通过docker-compose 搭建zookeeper 集群

    一.创建三节点 zookeeper 集群 将 docker-compose.yml 保存到当前命令行目录下 docker-compose.yml 文件 version: '2' networks: z ...

  6. Python3 str去除空格

    一.去除str两端空格(strip()) a.去除左端空格  lstrip() str0='abcdef' str1=' abcdef' print(str0) print(str1.lstrip() ...

  7. unity物理检测的几种方式

    (由于本人大多做2d游戏,因此以下以2d为主介绍,但是具体和3d相差不大) 在unity中有很多不同的物理检测方式,但是大致可以分为以下几种: 1.Physics2d检测系列 Physics2d.Li ...

  8. MYSQL数据库封装类

    <?phpclass DBDA{    public $host="localhost";    public $uid="root";    publi ...

  9. Pipeline Alpha版本项目展示

    团队成员简介:http://www.cnblogs.com/cheneygroup/p/4830994.html 团队成员及博客: 李剑锋:        Blog:      http://www. ...

  10. 读书笔记(chapter5)

    系统调用 5.1与内核通信 1.系统调用在用户空间进程和硬件设备之间添加一个中间层.作用有三个:它为用户空间提供了一种硬件的抽象接口:系统调用保证了系统的稳定和安全:系统调用是用户空间访问内核的唯一手 ...