\[\Large \text{The Proof of Fibonacci GCD}\]
\[\text{By Sangber}\]


\(\text{Fibonacci Sequence}\)

\(\quad \quad \text{If we record sequence}\ \{F_n\}\ \text{as Fibonacci Sequence, then }\{F_n\} \text{ will have these properties:}\)

\[F_i = \begin{cases}1, & i\leq 2 \\ F_{i-1} + F_{i-2}, & \mathrm{otherwise}\end{cases}\]

\(\quad \quad \text{So we can see that } \{F_n\} \text{ is like “1,1,2,3,5,8,13,21...”.}\)


\(\text{GCD}\)

\(\quad \quad \text{“GCD” is the abbreviation of “Greatest Common Divisor”.}\)
\(\quad \quad \text{And we often record } (a, b) \text{ as the GCD of } a \text{ and } b.\)
\(\quad \quad \text{For example, } (12, 15) = 3, (48, 36) = 12.\)


\(\text{Two Theorems about GCD}\)

\(\text{Euclidean theorem}\)

\[(a, b) = (b, a \bmod b), a, b \in N_{+}\]
\(\text{The proof: }\)

  • \(\text{If } a = b, (a, b) = a = b, \text{we can surely tell that the theorem is established.}\)
  • \(\text{If } a < b, (b, a \bmod b) = (b, a) = (a, b), \text{the theorem is established.}\)
  • \(\text{If } a > b, \text{we can assume that } a = k \times b + r, (k \in N_{+}, 0 \le r < b), \text{ so } a \bmod b = r. \\ \text{As for } \forall d, \text{meeting that } d|a \land d|b, d|(a - k \times b), \text{ actually it means } d | r. \\ \text{So we can tell that } (a, b) = (b, r), \text{ that is, } (a, b) = (b, a \bmod b).\)

\(\text{Stein's Algorithm}\)

\[(a, b) = (a, b - a),b > a\]
\(\text{The proof:}\)
\(\text{Actually, the proof of it is similar to that of Euclidean theorem, you can finish it yourselves.}\)


\(\text{One Lemma}\)

\[(F_n,F_{n - 1})=1, n \in N_{+}\]
\(\text{The Proof}\):

  • \(\text{In the case of } n = 1 \text{ and } n = 2,\text{ the lemma is established obviously.}\)
  • \(\text{In the case of } n \ge 2 :\)
    \(\text{Obviously:}\)
    \[F_n > F_{n - 1} > F_{n - 2}, F_n = F_{n - 1} + F_{n - 2}\]
    \[\therefore F_n\ \bmod F_{n - 1} = F_{n - 2}\]
    \(\quad \ \text{According to Euclidean theorem and the lemma above:}\)
    \[(F_n,F_{n-1})=(F_{n-1},F_n\ \bmod\ F_{n-1})=(F_{n-1},F_{n-2})\]
    \[\therefore (F_n,F_{n-1})=(F_{n-1},F_{n-2})=(F_{n-2},F_{n-3})= \cdots =(F_1,F_2)=1\]

\(\text{Fibonacci GCD}\)

\(\quad \quad \text{Here is the expression of the Fibonacci GCD:}\)

\[\forall n,m \in \text{Z}^{+},(F_n, F_m) = F_{(n, m)}\]


\(\text{The Proof of Fibonacci GCD}\)

\(\text{We assume that } n<m.\)
\(\text{Then we use } F_n \text{ and }F_{n+1} \text{ to express } F_{n + 2},F_{n + 3},F_{n + 4},F_{n + 5}\cdots\)

\[
\begin{aligned}
& F_{n + 2} = 1 F_n + 1 F_{n + 1} \\
& F_{n + 3} = 1 F_n + 2 F_{n + 1} \\
& F_{n + 4} = 2 F_n + 3 F_{n + 1} \\
& F_{n + 5} = 3 F_n + 5 F_{n + 1}
\end{aligned} \\
\cdots \cdots
\]

\(\text{We can see that in the expressions above, the coefficients of } F_n \text{ and } F_{n + 1} \text{ meet the properties of the Fibonacci Sequence.}\)
\[\therefore F_m=F_{m - n - 1} \times F_n + F_{m - n} \times F_{n + 1}\]
\[\therefore (F_n, F_m) = (F_n, F_{m - n - 1} \times F_n + F_{m - n} \times F_{n + 1})\]
\(\text{And obviously we can see that :}\)
\[F_n|F_{m-n-1}\times F_n\]
\[\therefore (F_n,F_m)=(F_n,F_{m-n}\times F_{n+1})\]

\(\text{According to the lemma above:}\)
\[(F_n, F_{n + 1}) = 1\]
\[\therefore (F_n, F_m) = (F_n, F_{m - n})\]

\(\text{All in all:}\)
\[\text{If }n<m,(F_n,F_m)=(F_n,F_{m-n})\]

\(\text{We can see that }, \text{the change rule of } n \text{ and } m \text{ meet Stein's Algorithm,so we finally discovered that }\)
\[(F_n,F_m)=F_{(n,m)}\]


\[\Large \text{That's all, thanks!}\]
\[\Huge Q\omega Q\]

The Proof of Fibonacci GCD的更多相关文章

  1. 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

    Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...

  2. 收集有用的 Javascript 片段

    内容目录 数组 arrayMax arrayMin chunk compact countOccurrences deepFlatten difference distinctValuesOfArra ...

  3. 关于斐波拉契数列(Fibonacci)

    斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10 ...

  4. 使用并行的方法计算斐波那契数列 (Fibonacci)

    更新:我的同事Terry告诉我有一种矩阵运算的方式计算斐波那契数列,更适于并行.他还提供了利用TBB的parallel_reduce模板计算斐波那契数列的代码(在TBB示例代码的基础上修改得来,比原始 ...

  5. (转)Fibonacci Tilings

    Fibonacci numbers {Fn, n ≥ 0} satisfy the recurrence relation (1) Fn+2 = Fn+1 + Fn, along with the i ...

  6. fibonacci数列的性质和实现方法

    fibonacci数列的性质和实现方法 1.gcd(fib(n),fib(m))=fib(gcd(n,m)) 证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m ...

  7. BZOJ 2813: 奇妙的Fibonacci

    2813: 奇妙的Fibonacci Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 497  Solved: 134[Submit][Status][ ...

  8. Codeforces 902D/901B - GCD of Polynomials

    传送门:http://codeforces.com/contest/902/problem/D 本题是一个数学问题——多项式整除. 对于两个整数a.b,求最大公约数gcd(a,b)的辗转相除法的函数如 ...

  9. 【学习笔记】关于最大公约数(gcd)的定理

    手动博客搬家: 本文发表于20181004 00:21:28, 原地址https://blog.csdn.net/suncongbo/article/details/82935140 结论1 \[\g ...

随机推荐

  1. powershell 无法运行一些脚本的情况

    有时候在powershell里运行脚本会报错: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing" ...

  2. UNL/EVE关联putty和wireshark

    这里默认UNL已经安装完毕,然后启动虚拟机启动UNL. 在浏览器输入http://192.168.1.199/ 进入UNL.然后简单的搭建一个拓扑: 这里只讲R1和ASA开启,先来配置Telnet功能 ...

  3. 【转载】Linux截图工具

    如果linux安装了gnome,那么系统自带了一款截屏软件 gnome-screenshot,使用起来很方便,功能齐备,支持命令行.简单介绍如下. 功能 对屏幕,窗口,或自定义的区域进行截图. 选项 ...

  4. 杭电1004 Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  5. C++ STL之集合set的使⽤

    写在最前面,本文摘录于柳生笔记: set是集合,一个set里面个元素各不相同的,而且set会按照元素从小到大的进行排序,一下是set的常用方法:

  6. nginx、apache和tomcat之间的关系和区别

    Apache/Nginx 应该叫做 HTTP Server,即安装后生成httpd服务. Tomcat 则是一个 Application Server,或者更准确的来说,是一个「Servlet/JSP ...

  7. 单链表 C++ 实现 - 含虚拟头节点

    本文例程下载链接:ListDemo 链表 vs 数组 链表和数组的最大区别在于链表不支持随机访问,不能像数组那样对任意一个(索引)位置的元素进行访问,而需要从头节点开始,一个一个往后访问直到查找到目标 ...

  8. hbase入门-相关概念

    hbase入门-概念理解 参考文档: https://blog.csdn.net/luanpeng825485697/article/details/80319552 1.      hbase概念 ...

  9. 笔记-python-standard library-8.3.collections

    笔记-python-standard library-8.3.collections 1.      collections简介 Source code: Lib/collections/__init ...

  10. C++ 判断是文件还是文件夹

    转载:https://www.csdn.net/gather_23/NtDaIg1sMDYtYmxvZwO0O0OO0O0O.html Windows平台代码如下: #include <wind ...