[亂搞]斐波那契數列與gcd之間一個有趣的定理
求證
\gcd(F_n,F_m)=F_{\gcd(n,m)}
其中 F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2) (n>1)
證明
聽說這是一個非常有用的定理,那麼就來隨便證(luan)明(gao)一下
Part 1
\gcd(F_n,F_{n-1})=1
證明:
\gcd(F_n,F_{n-1})=\gcd(F_{n}-F_{n-1},F_{n-1})=\gcd(F_{n-2},F_{n-1})
…… 歸納得證
Part 2
F_{n+m}=F_{n-1}F_{m}+F_{n}F_{m+1}
首先對於m=1顯然成立
對於m=2推一下也成立
然後我們來歸納一發,若m=k-1和m=k成立,那麼m=k+1也成立
F_{n+k+1}=F_{n+k}+F_{n+k-1}
=F_{n-1}F_{k}+F_{n}F_{k+1}+F_{n-1}F_{k-1}+F_{n}F_{k}
=F_{n-1}(F_{k}+F_{k-1})+F_{n}(F_{k+1}+F_{k})
=F_{n-1}F_{k+1}+F_{n}F_{k+2}
得證
Part 3
\gcd(F_{n+m},F_{n})=\gcd(F_n,F_m)
證明:
\gcd(F_{n+m},F_{n})=\gcd(F_{n-1}F_{m}+F_{n}F_{m+1},F_{n})=\gcd(F_{n-1}F_{m},F_{n})=\gcd(F_{m},F_{n})
得證
Part 4
\gcd(F_{n},F_{m})=F_{\gcd(n,m)}
Part 3 的結論也可以寫作
\gcd({F_{n},F_{m}})=\gcd({F_{n-m},F_{m}})
然後就是輾轉相除法來歸納一發就好了
以上本定理得證
相關文章
- PHP 與斐波那契數列PHP
- 斐波那契數列
- 力扣之斐波那契數列力扣
- 斐波那契數列(Java)Java
- 著名的斐波那契數列
- 斐波那契數列數與等冪和
- 設計一個程式,列印出1-200之間的斐波那契數列
- 斐波那契數列 (C#)C#
- 斐波那契數列詳解
- 斐波那契數
- js實現斐波那契數列JS
- 斐波那契數列演算法演算法
- 第十題:斐波那契數列
- [C103] 斐波那契數列
- 劍指offer——斐波那契數列
- 斐波那契數列js 實現JS
- 斐波那契數列Ⅳ【矩陣乘法】矩陣
- 演算法一:斐波那契阿數列演算法
- 斐波那契數列的來源——數兔子
- 大數斐波那契數列的演算法演算法
- 使用Python實現斐波那契數列Python
- 演算法(1)斐波那契數列演算法
- HDU 4549 M斐波那契數列(矩陣快速冪+費馬小定理)矩陣
- 斐波那契數列魔法塔數字量與層數的關係
- Leedcode-斐波那契數
- 509. 斐波那契數
- LeetCode 509[斐波那契數]LeetCode
- 一千位斐波那契數
- 計算斐波那契數列的演算法演算法
- 每日一算 -- 斐波那契數列型別題型別
- js迭代器實現斐波那契數列JS
- offer通過--9斐波那契數列-2
- JavaScript 實現:輸出斐波那契數列JavaScript
- 資料結構之斐波那契數列java實現資料結構Java
- LeetCode 1137第N個斐波那契數LeetCode
- fibonacci斐波那契數列詳解 遞迴求Fn非遞迴求Fn求n最近的斐波那契數遞迴
- 斐波那契數列的通項公式及證明公式
- 開啟斐波那契數列的新研究大門
- 斐波那契數列:7數5層魔法塔(3)