The Proof of Fibonacci GCD
\[\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的更多相关文章
- 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)
Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...
- 收集有用的 Javascript 片段
内容目录 数组 arrayMax arrayMin chunk compact countOccurrences deepFlatten difference distinctValuesOfArra ...
- 关于斐波拉契数列(Fibonacci)
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10 ...
- 使用并行的方法计算斐波那契数列 (Fibonacci)
更新:我的同事Terry告诉我有一种矩阵运算的方式计算斐波那契数列,更适于并行.他还提供了利用TBB的parallel_reduce模板计算斐波那契数列的代码(在TBB示例代码的基础上修改得来,比原始 ...
- (转)Fibonacci Tilings
Fibonacci numbers {Fn, n ≥ 0} satisfy the recurrence relation (1) Fn+2 = Fn+1 + Fn, along with the i ...
- fibonacci数列的性质和实现方法
fibonacci数列的性质和实现方法 1.gcd(fib(n),fib(m))=fib(gcd(n,m)) 证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m ...
- BZOJ 2813: 奇妙的Fibonacci
2813: 奇妙的Fibonacci Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 497 Solved: 134[Submit][Status][ ...
- Codeforces 902D/901B - GCD of Polynomials
传送门:http://codeforces.com/contest/902/problem/D 本题是一个数学问题——多项式整除. 对于两个整数a.b,求最大公约数gcd(a,b)的辗转相除法的函数如 ...
- 【学习笔记】关于最大公约数(gcd)的定理
手动博客搬家: 本文发表于20181004 00:21:28, 原地址https://blog.csdn.net/suncongbo/article/details/82935140 结论1 \[\g ...
随机推荐
- 吴裕雄 python 神经网络——TensorFlow 输入数据处理框架
import tensorflow as tf files = tf.train.match_filenames_once("E:\\MNIST_data\\output.tfrecords ...
- base64相关
1.base64指定的64个字符(包含52个大小写.10个数字和+./): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ...
- 转:HttpClient使用详解
一.使用方法 使用HttpClient发送请求.接收响应很简单,一般需要如下几步即可. 1. 创建HttpClient对象. 2. 创建请求方法的实例,并指定请求URL.如果需要发送GET请求,创建H ...
- 如何用VBA代码依次打开文件夹下的Excel文件
'Check Public Function Check() As Variant On Error GoTo erlb Dim StrDir As String StrDir = T ...
- Chrome的一个问题
报错:Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extensi ...
- 通过js检测浏览器支持的字体,从而显示支持的字体,让用户选择。
http://www.zhangxinxu.com/wordpress/2018/02/js-detect-suppot-font-family/ 本文根据张鑫旭文章. 字体函数: var dataF ...
- php 低版本不能使用php 命令,创建软链接
ln -s /usr/local/php5/bin/php /usr/bin/php php 低版本不能使用php 命令,创建软链接 phpize 依赖于 phpcli 模式 所以php命令必 ...
- Web--Utils
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 1.HTTP与HTTPS区别
1.HTTP与HTTPS区别 HTTP协议默认采用80端口 HTTPS协议默认采用443 HTTPS相较于HTTP协议更安全一些,采用SSL+安全证书,但是效率低 2.使用代码格式模拟HTTP请求(H ...
- jdk 档案库(包含历史版本)
http://java.sun.com/products/archive/ 参考:https://blog.csdn.net/shiluyong8068/article/details/7894747 ...