斐波那契公约数
高精度+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)];

浙公网安备 33010602011771号