Loading [MathJax]/jax/output/CommonHTML/autoload/multiline.js

斐波那契

fbnq.jpg

斐波那契数-计算-分析

斐波那契数列(Fibonacci sequenceFibonacci sequence),由意大利数学家 莱昂纳多·斐波那契 的名字命名,原因是他在看到发情的兔子并充分发挥想象力后提出了这个数列

该数列具有优秀的性质,如在 nn 很大时,Fn+1FnϕFn+1Fnϕlimn+Fn+1Fn=ϕlimn+Fn+1Fn=ϕ

ϕϕ 为黄金分割数,1.6180339887498948481971959525508621220510663574518538453723187601229582821971784348083863296133320592...

用途挺多的,比如斐波那契查找(二分查找的一种改进),斐波那契堆等

斐波那契数列定义为

Fn={0,(n=0)1,(n=1)Fn1+Fn2(n>1)

通项公式&性质

通项公式(性质一)

n 个斐波那契数可以表示为

Fn=ϕnˆϕn5

ˆϕϕ 的共轭数,二者是 x2=x+1 的两个根

所以这玩意的增长是指数级

证明

顺推法

F0=0=115F1=1=55

这两个玩意满足通项公式

接下来,假设,Fk1,Fk 满足通项公式

则有

Fk1=ϕk1ˆϕk15Fk=ϕkˆϕk5

so

Fk+1=Fk1+Fk=ϕk1ˆϕk15+ϕkˆϕk5=(ϕk1+ϕk)(ˆϕk1+ˆϕk)5=ϕk+1ˆϕk+15

这里为什么 (ϕk1+ϕk)(ˆϕk1+ˆϕk) 直接变成了 ϕk+1ˆϕk+1 呢?

注意,ϕˆϕ 满足方程 x2=x+1,因此

ϕ2=ϕ+1, ˆϕ2=ˆϕ+1ϕ3=ϕ2+1, ˆϕ3=ˆϕ2+1......ϕk+1=ϕk+ϕk1, ˆϕk+1=ˆϕk+ϕk1

也可以算特征方程:
对于一个数列

xn+2=c1xn+1+c2xn

设有 r,s 使:

xn+1rxn+1=s(xn+1rxn)

(不要被 r,s 所迷惑,这样的等式一定存在)

xn+2=(r+s)xn+1srxnc1=r+s,c2=sr

消去 s 得出特征方程式:

r2=rc1+c2

真经

https://www.zhihu.com/question/25217301 回答二,实在不行看回答三

性质二

接下来证明上文提到的一个小(大)性质

limn+Fn+1Fn=ϕ

证明

因为

|ˆϕ|=|152|<1limn+ˆϕn=ˆϕn+1=0

so

limn+Fn+1Fn=limn+ϕn+1ˆϕn+1ϕnˆϕn=ϕn+1ϕn=ϕ

性质三

Fn+1ϕn1

个人认为,从这里也可以看出斐波那契数的指数级增长

证明

顺推

Fn+1=ϕn+1ˆϕn+15ϕn+1ˆϕn+15ϕn1ϕn+1ˆϕn+15ϕn1ϕn+15ϕn1ˆϕn+1[(1+5)245]ϕn1(15)24ˆϕn1(3252)ϕn1(3252)ˆϕn1

因为 ϕˆϕn=1 时取等

所以上述式成立

另外,与指数对应的就是对数,所以我们可以把上面那个式子转化一下

ϕnFn+2nlogϕ(Fn+2)注意这里 2 的转化并非从n+2中而来n2logϕFnnlogϕFn+2

一个数如果是斐波那契数,那么这个数 在斐波那契数列上的位置下标 n 不大于其数值关于 ϕ 的对数

看起来没啥用的性质,却是斐波那契堆的关键

扩展1

已知

Fn=ϕnˆϕn5

移项

ϕnˆϕn=Fn5(1+52)n(152)n=Fn5(1+5)n(15)n5=2nFn

将最后一个等式推广到普遍情况

即若以

Gmn=(1+m)n(1m)nm

表示某一数列 Gm 的第 n 项,那 Gmn 是否一定是整数?

同时也可以由此扩展倒推出斐波那契数列通项公式

证明

显然

Gm0=0,Gm1=2,Gm2=4

n 为大于 0 整数

Gm(n+1)=(1+m)n+1(1m)n+1m=(1+m)[(1m)n+mGmn](1m)[(1+m)nmGmn]m=2mGmn+[(1+m)(1m)n(1m)(1+m)n]m=2Gmn+[(1+m)(1m)](1m)n1(1+m)n1m=2Gmn+[(m+1)(m1)](1+m)n1(1m)n1m=2Gmn+(m+1)Gm(n1)

也就是说,Gm(n+1) 可由其前两项仅通过加法和乘法得到,而 Gm0,Gm1 是整数,故由他们得出的后项也都是整数

更进一步

数列

Hmn=((1+m)2)n(1m)2)nm2nHmn=(1+m)n(1m)nm=Gmn2n+1Hm(n+1)=2n+1Hmn+(m1)2n1Hm(n1)Hm(n+1)=Hmn+m14Hm(n1)

H5n 正是斐波那契数列

扩展2

斐波那契循环节!!!!

即求斐波那契数列在模 p 意义下的循环节 m

前置知识二次剩余

做题

未完待续。。。

posted @   aleph_blanc  阅读(184)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· Supergateway:MCP服务器的远程调试与集成工具
· C# 13 中的新增功能实操
点击右上角即可分享
微信分享提示