【闲话】2023.1.27 斐波那契数列一个性质及推广

斐波那契
#

众所周知,斐波那契数列有一个性质:

gcd(fn,fm)=fgcd(n,m)


在证明他之前,先来看个引理:

Lemma 1

fn+m=fn×fm1+fn+1×fm

这是归纳证的,m2 时,显然有:

fn+1=fn×f0+fn+1×f1

fn+2=fn×f1+fn+1×f2

假设对于 mk 均成立,证明 m=k+1 成立。

fn+k=fn×fk1+fn+1×fk

fn+k1=fn×fk2+fn+1×fk1

两个式子相加即得:

fn+k+1=fn×fk+fn+1×fk+1

m=k+1 成立。

如果把 n+m 替换成 m,这个引理也可以写作:

fm=fn×fmn1+fn+1×fmn


接着是一个比较显然的引理:

Lemma 2

gcd(fn,fn+1)=1

简单推导一下:

gcd(fn,fn+1)=gcd(fn,fn+1fn)=gcd(fn,fn1)=gcd(f1,f2)=1


回到最初的证明,类比更相减损推广到辗转相除,如果我们能够证明:

gcd(fn,fm)=gcd(fn,fmn)

就可以证明经过辗转相除后:

gcd(fn,fm)=gcd(fgcd(n,m),f0)=fgcd(n,m)

把式子大力展开!

gcd(fn,fm)=gcd(fn,fn×fmn1+fn+1+fmn)=gcd(fn,fn+1×fmn)=gcd(fn,fmn)

证毕。

y=1
#

然后一道题——BZOJ-4833 最小公倍佩尔数

题解1:推导得到 f 满足 fn=2fn1+fn2,类比斐波那契数列,这种形如 fn=xfn1+yfn2 的递推式都满足 gcd(fn,fm)=fgcd(n,m)

题解2:我们知道……大力归纳……

我:?你说了个鬼?

那么我们来看一下所有满足:

{fi=[i=1]i1fi=xfi1+yfi2i>1

的数列 f,有什么特殊之处吧。


引理 1 的归纳过程,边界值中 m=1f1=1m=2f1=y,而 f2=x 是无疑的,于是姑且讨论 y=1 的情况。

重写一下递推式:

fn=xfn1+fn2

现在归纳证明引理 1 对于 xN+,y=1 同样成立。

m2 时,显然有:

fn+1=fn×f0+fn+1×f1

fn+2=fn×f1+fn+1×f2

假设对于 mk 均成立,证明 m=k+1 成立。

fn+k=fn×fk1+fn+1×fk

fn+k1=fn×fk2+fn+1×fk1

向上面一样凑出 fn+k+1

fn+k+1=xfn+k+fn+k1=fn×(xfk1+fk2)+fn+1×(xfk+fk1)=fn×fk+fn+1×fk+1

证毕。


而对于引理 2,也是稍作改动即可:

 gcd(fn,fn+1)=gcd(fn,fn+1xfn)=gcd(fn,fn1)=gcd(f1,f2)=1

既然两个引理都同样满足,不难得到相同的结论。

非常厉害
#

SoyTony:那 y1 时是不是不成立?感觉差一个系数。

Jijidawang:那就随便加一个吧。(在引理 1 的第一项加了个系数 y。)

他说他是瞎加的,他可不是瞎加的啊!我看是有备而来!


很强的性质:

Theorem 1

fn+m=y×fn×fm1+fn+1×fm

证明略,方法同上,增加了一个系数即可保证 m=2 的边界同样成立。


这个时候按理说就要证明引理 2 的相邻互质了,然而同样的方法由于系数变复杂变得很难看。思考另一个问题:什么情况下保证相邻互质?

Theorem 2

gcd(x,y)=1gcd(fn,fn+1)=1

还是归纳一下,n=1 时显然成立。

假设对于 nk 均成立,证明 n=k+1 成立。

fk+1 拆开!

gcd(fk,fk+1)=gcd(fk,xfk+yfk1)=gcd(fk,yfk1)=gcd(fk,y)=gcd(fkmody,y)

显然 fk 可以表示成 fk=ax+by 的形式,即要求 gcd(ax,y)=1 成立。

于是我们得到一个必要条件:gcd(x,y)=1,似乎很有意义。


下面来证明其充分性。

再看刚刚归纳得到的式子:

gcd(fn,fn+1)=gcd(fn,yfn1)

假设中 gcd(fn,fn1)=1,此时满足条件 gcd(fn,y)=1 则原式成立,我们不妨对此同样进行归纳。

假设 nk 时,gcd(fn,fn+1)=1,gcd(fn,y)=1,现证明满足 gcd(x,y)=1 的情况下,n=k+1 时仍然成立。

gcd(fk+1,y)=gcd(xfk+yfk1,y)=gcd(xfk,y)

gcd(x,y)=1,gcd(fk,y)=1 均成立,即证。


最后整理一下:

x,yN,递推式:

fn={[n=1]n1xfn1+yfn2n>1

满足:

fn+m=y×fn×fm1+fn+1×fm

gcd(x,y)=1gcd(fn,fm)=fgcd(n,m)

Natural Motivation
#

此篇闲话拿去投日报了,对 Theorem 1 部分有一个更自然的 Motivation,如下:

引理 1 的归纳部分可效仿之处很多,事实上,对于任意的系数:

fn+m=a×fn×fm1+b×fn+1×fm

归纳 m=k+1 成立的部分都可以写成:

fn+k+1=xfn+k+yfn+k1=a×fn×(xfk1+yfk2)+b×fn+1×(xfk+yfk1)=a×fn×fk+b×fn+1×fk+1

因此我们只需要找到使得边界成立 a,b,容易列出:

{fn+1=a×fn×f0+b×fn+1×f1fn+2=a×fn×f1+b×fn+1×f2

得:

{a=yb=1

作者:SoyTony

出处:https://www.cnblogs.com/SoyTony/p/Flowers_on_Jan_27th_2023.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   SoyTony  阅读(305)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示