1. 程式人生 > >[亂搞]斐波那契數列與gcd之間一個有趣的定理

[亂搞]斐波那契數列與gcd之間一個有趣的定理

求證

gcd(Fn,Fm)=Fgcd(n,m)
其中 F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2) (n>1)

證明

聽說這是一個非常有用的定理,那麼就來隨便證(luan)明(gao)一下

Part 1

gcd(Fn,Fn1)=1
證明:gcd(Fn,Fn1)=gcd(FnFn1,Fn1)=gcd(Fn2,Fn1)……
歸納得證

Part 2

Fn+m=Fn1Fm+FnFm+1
首先對於m=1顯然成立
對於m=2推一下也成立
然後我們來歸納一發,若m=k-1和m=k成立,那麼m=k+1也成立

Fn+k+1=Fn+k+Fn+k
1

=Fn1Fk+FnFk+1+Fn1Fk1+FnFk
=Fn1(Fk+Fk1)+Fn(Fk+1+Fk)
=Fn1Fk+1+FnFk+2
得證

Part 3

gcd(Fn+m,Fn)=gcd(Fn,Fm)
證明:gcd(Fn+m,Fn)=gcd(Fn1Fm+FnFm+1,Fn)=gcd(Fn1Fm,Fn)=gcd(Fm,Fn)
得證

Part 4

gcd(Fn,Fm)=Fgcd(n,m)
Part 3 的結論也可以寫作gcd(Fn,Fm)=gcd(Fnm,Fm)
然後就是輾轉相除法來歸納一發就好了

以上本定理得證