证明用到辗转相除相减法
定理一
-
g
c
d
(
f
[
i
]
,
f
[
i
+
1
]
)
=
1
gcd(f[i],f[i+1])=1
gcd(f[i],f[i+1])=1
证明: g c d ( f [ i ] , f [ i + 1 ] ) = g c d ( f [ i + 1 ] − f [ i ] , f [ i ] ) = g c d ( f [ i − 1 ] , f [ i ] ) gcd(f[i], f[i+1]) = gcd(f[i+1]-f[i], f[i])=gcd(f[i-1], f[i]) gcd(f[i],f[i+1])=gcd(f[i+1]−f[i],f[i])=gcd(f[i−1],f[i])
递归下去,所以 g c d ( f [ i ] , f [ i + 1 ] ) = g c d ( f [ 1 ] , f [ 2 ] ) = 1 gcd(f[i], f[i+1]) = gcd(f[1], f[2]) = 1 gcd(f[i],f[i+1])=gcd(f[1],f[2])=1
定理二
-
f
[
m
+
n
]
=
f
[
m
−
1
]
f
[
n
]
+
f
[
m
]
f
[
n
+
1
]
f[m+n]=f[m−1]f[n]+f[m]f[n+1]
f[m+n]=f[m−1]f[n]+f[m]f[n+1]
证明: f [ m + n ] = f [ m + n − 1 ] + f [ m + n − 2 ] = f [ m + n − 2 ] + f [ m + n − 3 ] + f [ m + n − 3 ] + f [ m + n − 4 ] f[m+n] = f[m+n-1]+f[m+n-2]=f[m+n-2]+f[m+n-3]+f[m+n-3]+f[m+n-4] f[m+n]=f[m+n−1]+f[m+n−2]=f[m+n−2]+f[m+n−3]+f[m+n−3]+f[m+n−4]
= f [ m + n − 2 ] + 2 ∗ f [ n + m − 3 ] + f [ n + m − 4 ] = 3 ∗ f [ n + m − 3 ] + 2 ∗ f [ n + m − 4 ] = . . . . . . =f[m+n-2]+2*f[n+m-3]+f[n+m-4]=3*f[n+m-3]+2*f[n+m-4]=...... =f[m+n−2]+2∗f[n+m−3]+f[n+m−4]=3∗f[n+m−3]+2∗f[n+m−4]=......
找找规律就得到了 f [ m + n ] = f [ m − 1 ] f [ n ] + f [ m ] f [ n + 1 ] f[m+n]=f[m−1]f[n]+f[m]f[n+1] f[m+n]=f[m−1]f[n]+f[m]f[n+1]不会正规证明
定理三
-
g
c
d
(
f
[
n
+
m
]
,
f
[
n
]
)
=
g
c
d
(
f
[
n
]
,
f
[
m
]
)
gcd(f[n+m],f[n])=gcd(f[n],f[m])
gcd(f[n+m],f[n])=gcd(f[n],f[m])
证明: g c d ( f [ n + m ] , f [ n ] ) = g c d ( f [ m − 1 ] f [ n ] + f [ m ] f [ n + 1 ] , f [ n ] ) gcd(f[n+m], f[n])=gcd(f[m-1]f[n]+f[m]f[n+1], f[n]) gcd(f[n+m],f[n])=gcd(f[m−1]f[n]+f[m]f[n+1],f[n])
= g c d ( f [ m ] f [ n + 1 ] , f [ n ] ) = g c d ( f [ n + 1 ] , f [ n ] ) ∗ g c d ( f [ m ] , f [ n ] ) = g c d ( f [ m ] , f [ n ] ) =gcd(f[m]f[n+1], f[n])=gcd(f[n+1],f[n])*gcd(f[m], f[n])=gcd(f[m], f[n]) =gcd(f[m]f[n+1],f[n])=gcd(f[n+1],f[n])∗gcd(f[m],f[n])=gcd(f[m],f[n])
定理四
-
g
c
d
(
f
[
n
]
,
f
[
n
+
m
]
)
=
f
[
g
c
d
(
n
,
n
+
m
)
]
gcd(f[n],f[n+m])=f[gcd(n,n+m)]
gcd(f[n],f[n+m])=f[gcd(n,n+m)]
证明: g c d ( f [ n ] , f [ n + m ] ) = g c d ( f [ n ] , f [ m ] ) gcd(f[n], f[n+m])=gcd(f[n], f[m]) gcd(f[n],f[n+m])=gcd(f[n],f[m])
即: g c d ( f [ n ] , f [ m + n ] % f [ n ] ) = g c d ( f [ n ] , f [ ( m + n ) % n ] ) gcd(f[n], f[m+n]\%f[n])=gcd(f[n], f[(m+n)\%n]) gcd(f[n],f[m+n]%f[n])=gcd(f[n],f[(m+n)%n])
这是辗转相除法的形式
最后肯定有 g c d ( f [ n ] , f [ n + m ] ) = f [ g c d ( n , n + m ) ] gcd(f[n],f[n+m])=f[gcd(n,n+m)] gcd(f[n],f[n+m])=f[gcd(n,n+m)]