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]
我们发现
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)]的更多相关文章
- 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 ...
- 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 ...
- 函数$f(x+1)$和$f(x-1)$的奇偶性
前言 廓清认知 1.函数\(y=f(x)\)的奇偶性 ①\(y=f(x)\)为奇函数,则满足\(f(-x)+f(x)=0\),即关于点\((0,0)\)对称: ②\(y=f(x)\)为偶函数,则满足\ ...
- F#之旅3 - F# PK C#:简单的求和
原文链接:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-sum-of-squares.html Comp ...
- F#之旅1 - Why use F#?为什么要用F#?
原文地址:http://fsharpforfunandprofit.com/why-use-fsharp/ Why use F#?Why you should consider using F# fo ...
- 几何入门合集 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个 ...
- rm -f + 文件名+* 与 rm -f + 文件名* 的不同效果,大坑呀。
rm -f catalina.2018-10-22.* 与*号间无空格 rm -f catalina.2018-10-22. * :多了空格:
- Python文件读取中:f.seek(0)和f.seek(0,0)有什么区别
file.seek()方法标准格式是:seek(offset,whence=0)offset:开始的偏移量,也就是代表需要移动偏移的字节数whence:给offset参数一个定义,表示要从哪个位置开始 ...
- 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 ...
随机推荐
- 利用Cydia Substrate进行Android HOOK
Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java ...
- 使用jdb调试apk
jdb是一个支持java代码级调试的工具,它是由java jdk提供的,存在于xxx\Java\jdk1.6.0_21\bin之下 使用ddms调试时,主机会打开另外一个网络端口,在DDMS里查看,一 ...
- 20155217《网络对抗》Exp05 MSF基础应用
20155217<网络对抗>Exp05 MSF基础应用 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如ms ...
- [清华集训2015 Day2]矩阵变换-[稳定婚姻模型]
Description 给出一个N行M列的矩阵,保证满足以下性质: M>N. 矩阵中每个数都是 [0,N]中的自然数. 每行中, [1,N]中每个自然数刚好出现一次,其余的都是0. 每列中,[1 ...
- mfc CListCtrl 报表格式
知识点: CListCtrl报表格式 CListCtrl报表格式添加列 CListCtrl报表格式添加行 CListCtrl报表格式设置单元格 一.CListCtrl报表格式 类名:SysListVi ...
- P4292 [WC2010]重建计划
无脑上二分+淀粉质完事了 每个子树算的时候把儿子按照最长路径从小到大依次做,和前面的单调队列算一波,每个儿子的复杂度不超过这个子树大小 // luogu-judger-enable-o2 #inclu ...
- Windows:查看IP地址,IP地址对应的机器名,占用的端口,以及占用该端口的应用程
Windows 服务器系列: Windows:查看IP地址,IP地址对应的机器名,占用的端口,以及占用该端口的应用程 Windows:使用Dos命令管理服务(Services) Windows:任务调 ...
- python数据图形化—— matplotlib 基础应用
matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...
- Notepad++常用插件
Notepad++常用插件 1.CCompletion 进行文本的方法查找的工具. 会点击Ccompletion中的CCompletion菜单,就会出现菜单选择框 2.Compare 进行文本比较的工 ...
- visual studio-2013之单元测试
安装个vs把一个寝室搞得欲仙欲死的,,已经安装好了vs2013,那些欲仙欲死的事就都不说了.开始我们的正式作业——单元测试. 要做单元测试前提有: 1.要有Unit Test Generator工具 ...