Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

斐波那契数 整理


内容主要来(chao)自《具体数学(第二版)》。

背景:
看了几节课《具体数学》,记一下吧不然就真废了。。
应该没什么用,不过混个眼熟吧说不定还能见到Fibonacci的题。。写些这个我也是挺闲的。

咕了→_→工程量太浩大

斯特林数 STIRLING NUMBERS

第二类斯特林数

  我们用{nk}记第二类斯特林数。
  
  
  
  

第一类斯特林数

  我们用[nk]记第一类斯特林数。
  
  
  

斐波那契数 FIBONACCI NUMBERS

1.卡西尼恒等式

Fn+1Fn1F2n=(1)nn>0

  一个包含了形如fn±k(对于k的较小值)的斐波那契数的多项式公式可以变换成一个只包含FnFn+1的公式,因为我们可以通过法则Fm=Fm+2Fm+1来用更高次的斐波那契数表示Fm(当m<n时),且可以通过

Fm=Fm2+Fm1

来用较低次的斐波那契数代替Fm(当m>n+1时)。

  例如,替换卡西尼恒等式中的某个F,从而得到形如:

F2n+1Fn+1FnF2n=(1)n

Fn+2FnF2n+1=(1)n+1

的卡西尼恒等式。
  而(5)(Fn+1+Fn)FnF2n+1=(1)n+1是相同的,而后者与(4)相同。因此当卡西尼(n)为真当且仅当卡西尼(n+1)为真,于是根据归纳法,方程(1)对所有n成立。
  严格地说,除非m2,否则不能应用化简公式(3),因为我们没有对取负值的n定义过Fn。如果我们消除掉这个边界条件并利用(2)(3)对负指标定义斐波那契数,那么许多问题的处理就会变得更加容易。如F1=F1F0=1,F2=F0F1=1。且由归纳法有

Fn=(1)n1Fnn

  当用这种方式推广斐波那契数列时,卡西尼恒等式(1)对所有整数n都成立,而不仅仅对n>0成立。
  利用(2)(3)及归纳法还可以得出,

Fn+k=FkFn+1+Fk1Fn

它对于所有整数kn(正负以及0)都成立。
  如果在(7)中取k=n,就有

F2n=FnFn+1+Fn1Fn

从而F2nFn的倍数。类似地有

F3n=F2nFn+1+F2n1Fn

而且我们可以断言,F3n也是Fn的倍数。

2.斐波那契表示法

  斐波那契数的一个最重要的性质是它们可以给出一种表示整数的特别方法。我们记

jkjk+2

  那么每个正整数都有唯一的表示形式

n=Fk1+Fk2++Fkrk1k2kr0

  这是Zeckendorf定理。如100万的表示:

1 000 000=832 040+121 393+46 368+144+55=    F30   +    F26   +   F24  +F12 +F10

  每次选取Fk1n的最大的斐波那契数,然后选取Fk2nFk1的最大的斐波那契数,这样一直下去总可以得到这样的表达式。
  任何有唯一性的表示系统都是一个数系,这样Zeckendor定理就引导出斐波那契数系。我们可以将任何非负整数n01的一个序列表示,记

n=(bmbm1b2)Fn=nk=2bkFk

  这个数系有点像二进制记号,除了这里从来不会出现两个连续的1以外。几个例子:

1=(000001)F4=(000101)F12=(010101)F13=(100000)F

  前面的100万斐波那契表示可以与它的二进制表示219+218+217+216+214+29+26作比较:

(1 000 000)10=(10 001 010 000 000 000 010 100 000 000)F=(11 110 100 001 001 000 000)2

  斐波那契表示法需要更多的位数,因为不允许有接连出现的1,但是这两个表示是类似的。
  加1进位有两种情形,可能要进位2次(保证没有相邻的1),我懒得写了。。

3.另一个公式

  gcd

其它

Pisano 周期

斐波那契数列对p取模的结果存在循环节,循环节长度称为 Pisano 周期。
前9模数的周期为:1 3 8 6 20 24 16 12 24。

p的情况下,如果a_{n-1}=0,a_n=1,那么n就是p的 Pisano 周期/循环节长度。
具体见:https://blog.csdn.net/weixin_43817941/article/details/128770480

posted @   SovietPower  阅读(1943)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
点击右上角即可分享
微信分享提示