前置知识:
矩阵乘法、斐波那契数列的矩阵公式。
题意简要:
用 F i F_i Fi 表示斐波那契数列的第 i i i 项,求:
gcd ( F n , F m ) \gcd(F_n,F_m) gcd(Fn,Fm)
我们先考虑 n > m n > m n>m .
首先我们考虑 gcd \gcd gcd 的两个性质,后面要用:
gcd ( a , b ) = gcd ( b , a − b ) = gcd ( a − k ⋅ b ) \gcd(a,b) = \gcd(b,a-b) = \gcd(a-k \cdot b) gcd(a,b)=gcd(b,a−b)=gcd(a−k⋅b)
gcd ( a × b , c ) = gcd ( a , c ) × gcd ( b , c ) \gcd(a \times b,c) = \gcd(a ,c ) \times \gcd(b,c) gcd(a×b,c)=gcd(a,c)×gcd(b,c)
再考虑 F F F 数列的一个性质:
F n + 1 − F n = F n − 1 F_{n+1} - F_n = F_{n-1} Fn+1−Fn=Fn−1
下面先求另一个东西:
gcd ( F n , F n + 1 ) = gcd ( F n , F n + 1 − F n ) = gcd ( F n − 1 , F n ) = ⋯ = gcd ( F 1 , F 2 ) = 1 \gcd(F_n,F_{n+1}) = \gcd(F_n,F_{n+1}-F_n) = \gcd(F_{n-1},F_n) = \cdots = \gcd(F_1,F_2)=1 gcd(Fn,Fn+1)=gcd(Fn,Fn+1−Fn)=gcd(Fn−1,Fn)=⋯=