斐波那契公约数

高精度+gcd(f(m),f(n))=f(gcd(m,n))

证:gcd(f(m),f(n))=f(gcd(m,n))

引理1:

Gcd(F[n+1],F[n])=1;

证明:

根据辗转相减法则

Gcd(F[n+1],F[n])
=Gcd(F[n+1]-F[n],F[n])
=Gcd(F[n],F[n-1])
=Gcd(F[2],F[1])
=1

引理2:

F[m+n]=F[m-1]F[n]+F[m]F[n+1]

证明:

F[n+m] =F[n+m-1]+F[n+m-2]

=2*F[n+m-2]+F[n+m-3]

=……

设 F[n+m]

=a[x]F[n+m-x]+b[x]F[n+m-x-1];

=a[x](F[n+m-x-1]+F[n+m-x-2])+b[x](F[n+m-x-1);

=(a[x]+b[x])F[n+m+x-1]+a[x]F[n+m+x-2];

当x=1时有 a[1]=F[2]; b[1]=F[1];

当x=2时有 a[2]=F[2]+F[1]=F[3]; b[2]=a[1]=F[2];

当x=k+1时有 a[k+1]=a[k]+b[k]=F[k+1]+F[k]=F[k+2] b[k+1]=a[k]=F[k+1];

所以当x=n时有

F[n+m]=a[n]F[m]+b[n]F[m-1];

=F[n+1]F[m]+F[n]F[m-1];

引理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[n+1],F[n])*Gcd(F[m],F[n])
=Gcd(F[m],F[n]);

于是显然有:Gcd(F[n],F[m])=F[Gcd(n,m)];

posted @ 2017-09-28 22:38  rsqppp  阅读(100)  评论(0)    收藏  举报