斐波那契
众所周知,斐波那契数列有一个性质:
\[\gcd(f_{n},f_{m})=f_{\gcd(n,m)}
\]
在证明他之前,先来看个引理:
\(\mathrm{Lemma\ 1}\)
\[f_{n+m}=f_{n}\times f_{m-1}+f_{n+1}\times f_{m}
\]
这是归纳证的,\(m\le 2\) 时,显然有:
\[f_{n+1}=f_{n}\times f_{0}+f_{n+1}\times f_{1}
\]
\[f_{n+2}=f_{n}\times f_{1}+f_{n+1}\times f_{2}
\]
假设对于 \(m\le k\) 均成立,证明 \(m=k+1\) 成立。
\[f_{n+k}=f_{n}\times f_{k-1}+f_{n+1}\times f_{k}
\]
\[f_{n+k-1}=f_{n}\times f_{k-2}+f_{n+1}\times f_{k-1}
\]
两个式子相加即得:
\[f_{n+k+1}=f_{n}\times f_{k}+f_{n+1}\times f_{k+1}
\]
即 \(m=k+1\) 成立。
如果把 \(n+m\) 替换成 \(m\),这个引理也可以写作:
\[f_{m}=f_{n}\times f_{m-n-1}+f_{n+1}\times f_{m-n}
\]
接着是一个比较显然的引理:
\(\mathrm{Lemma}\ 2\)
\[\gcd(f_{n},f_{n+1})=1
\]
简单推导一下:
\[\begin{aligned}
\gcd(f_{n},f_{n+1})&=\gcd(f_{n},f_{n+1}-f_{n})\\
&=\gcd(f_{n},f_{n-1})\\
&\cdots\\
&=\gcd(f_{1},f_{2})\\
&=1
\end{aligned}\]
回到最初的证明,类比更相减损推广到辗转相除,如果我们能够证明:
\[\gcd(f_{n},f_{m})=\gcd(f_{n},f_{m-n})
\]
就可以证明经过辗转相除后:
\[\gcd(f_{n},f_{m})=\gcd(f_{\gcd(n,m)},f_{0})=f_{\gcd(n,m)}
\]
把式子大力展开!
\[\begin{aligned}
\gcd(f_{n},f_{m})&=\gcd(f_{n},f_{n}\times f_{m-n-1}+f_{n+1}+f_{m-n})\\
&=\gcd(f_{n},f_{n+1}\times f_{m-n})\\
&=\gcd(f_{n},f_{m-n})
\end{aligned}\]
证毕。
\(y=1\)
然后一道题——BZOJ-4833 最小公倍佩尔数。
题解1:推导得到 \(f\) 满足 \(f_{n}=2f_{n-1}+f_{n-2}\),类比斐波那契数列,这种形如 \(f_{n}=xf_{n-1}+yf_{n-2}\) 的递推式都满足 \(\gcd(f_{n},f_{m})=f_{\gcd(n,m)}\)。
题解2:我们知道……大力归纳……
我:?你说了个鬼?
那么我们来看一下所有满足:
\[\begin{cases}
f_{i}=[i=1]&i\le 1\\
f_{i}=xf_{i-1}+yf_{i-2}&i>1
\end{cases}\]
的数列 \(f\),有什么特殊之处吧。
引理 \(1\) 的归纳过程,边界值中 \(m=1\) 时 \(f_1=1\),\(m=2\) 时 \(f_1=y\),而 \(f_2=x\) 是无疑的,于是姑且讨论 \(y=1\) 的情况。
重写一下递推式:
\[f_{n}=xf_{n-1}+f_{n-2}
\]
现在归纳证明引理 \(1\) 对于 \(x\in \mathrm{N}_{+},y=1\) 同样成立。
\(m\le 2\) 时,显然有:
\[f_{n+1}=f_{n}\times f_{0}+f_{n+1}\times f_{1}
\]
\[f_{n+2}=f_{n}\times f_{1}+f_{n+1}\times f_{2}
\]
假设对于 \(m\le k\) 均成立,证明 \(m=k+1\) 成立。
\[f_{n+k}=f_{n}\times f_{k-1}+f_{n+1}\times f_{k}
\]
\[f_{n+k-1}=f_{n}\times f_{k-2}+f_{n+1}\times f_{k-1}
\]
向上面一样凑出 \(f_{n+k+1}\):
\[\begin{aligned}
f_{n+k+1}&=xf_{n+k}+f_{n+k-1}\\
&=f_{n}\times (xf_{k-1}+f_{k-2})+f_{n+1}\times (xf_{k}+f_{k-1})\\
&=f_{n}\times f_{k}+f_{n+1}\times f_{k+1}
\end{aligned}\]
证毕。
而对于引理 \(2\),也是稍作改动即可:
\[\begin{aligned}\
\gcd(f_{n},f_{n+1})&=\gcd(f_{n},f_{n+1}-xf_{n})\\
&=\gcd(f_{n},f_{n-1})\\
&\cdots\\
&=\gcd(f_{1},f_{2})\\
&=1
\end{aligned}\]
既然两个引理都同样满足,不难得到相同的结论。
非常厉害
SoyTony:那 \(y\neq 1\) 时是不是不成立?感觉差一个系数。
Jijidawang:那就随便加一个吧。(在引理 \(1\) 的第一项加了个系数 \(y\)。)
他说他是瞎加的,他可不是瞎加的啊!我看是有备而来!
很强的性质:
\(\mathrm{Theorem}\ 1\)
\[f_{n+m}=y\times f_{n}\times f_{m-1}+f_{n+1}\times f_{m}
\]
证明略,方法同上,增加了一个系数即可保证 \(m=2\) 的边界同样成立。
这个时候按理说就要证明引理 \(2\) 的相邻互质了,然而同样的方法由于系数变复杂变得很难看。思考另一个问题:什么情况下保证相邻互质?
\(\mathrm{Theorem}\ 2\)
\[\gcd(x,y)=1\Leftrightarrow \gcd(f_{n},f_{n+1})=1
\]
还是归纳一下,\(n=1\) 时显然成立。
假设对于 \(n\le k\) 均成立,证明 \(n=k+1\) 成立。
把 \(f_{k+1}\) 拆开!
\[\begin{aligned}
\gcd(f_{k},f_{k+1})&=\gcd(f_{k},xf_{k}+yf_{k-1})\\
&=\gcd(f_{k},yf_{k-1})\\
&=\gcd(f_{k},y)\\
&=\gcd(f_{k}\bmod y,y)
\end{aligned}\]
显然 \(f_k\) 可以表示成 \(f_k=ax+by\) 的形式,即要求 \(\gcd(ax,y)=1\) 成立。
于是我们得到一个必要条件:\(\gcd(x,y)=1\),似乎很有意义。
下面来证明其充分性。
再看刚刚归纳得到的式子:
\[\gcd(f_n,f_{n+1})=\gcd(f_n,yf_{n-1})
\]
假设中 \(\gcd(f_{n},f_{n-1})=1\),此时满足条件 \(\gcd(f_{n},y)=1\) 则原式成立,我们不妨对此同样进行归纳。
假设 \(n\le k\) 时,\(\gcd(f_{n},f_{n+1})=1,\gcd(f_{n},y)=1\),现证明满足 \(\gcd(x,y)=1\) 的情况下,\(n=k+1\) 时仍然成立。
\[\begin{aligned}
\gcd(f_{k+1},y)
&=\gcd(xf_{k}+yf_{k-1},y)\\
&=\gcd(xf_{k},y)
\end{aligned}\]
而 \(\gcd(x,y)=1,\gcd(f_k,y)=1\) 均成立,即证。
最后整理一下:
\(\forall x,y\in \mathbf{N^*}\),递推式:
\[f_{n}=
\begin{cases}
[n=1]&n\le 1\\
xf_{n-1}+yf_{n-2}&n>1
\end{cases}\]
满足:
\[f_{n+m}=y\times f_{n}\times f_{m-1}+f_{n+1}\times f_{m}
\]
\[\gcd(x,y)=1\Leftrightarrow\gcd(f_{n},f_{m})=f_{\gcd(n,m)}
\]
Natural Motivation
此篇闲话拿去投日报了,对 \(\mathrm{Theorem}\ 1\) 部分有一个更自然的 Motivation,如下:
引理 \(1\) 的归纳部分可效仿之处很多,事实上,对于任意的系数:
\[f_{n+m}=a\times f_{n}\times f_{m-1}+b\times f_{n+1}\times f_{m}
\]
归纳 \(m=k+1\) 成立的部分都可以写成:
\[\begin{aligned}
f_{n+k+1}
&=xf_{n+k}+yf_{n+k-1}\\
&=a\times f_{n}\times (xf_{k-1}+yf_{k-2})+b\times f_{n+1}\times (xf_{k}+yf_{k-1})\\
&=a\times f_{n}\times f_{k}+b\times f_{n+1}\times f_{k+1}
\end{aligned}\]
因此我们只需要找到使得边界成立 \(a,b\),容易列出:
\[\begin{cases}
f_{n+1}=a\times f_{n}\times f_{0}+b\times f_{n+1}\times f_{1}\\
f_{n+2}=a\times f_{n}\times f_{1}+b\times f_{n+1}\times f_{2}
\end{cases}\]
得:
\[\begin{cases}
a=y\\
b=1
\end{cases}\]