博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

斐波那契数 整理


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

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

咕了→_→工程量太浩大

斯特林数 STIRLING NUMBERS

第二类斯特林数

  我们用\(\left\{^n_k\right\}\)记第二类斯特林数。
  
  
  
  

第一类斯特林数

  我们用\(\left[^n_k\right]\)记第一类斯特林数。
  
  
  

斐波那契数 FIBONACCI NUMBERS

1.卡西尼恒等式

\[F_{n+1}*F_{n-1}-F_n^2=(-1)^n,n>0 \tag{1} \]

  一个包含了形如\(f_{n\pm k}\)(对于\(k\)的较小值)的斐波那契数的多项式公式可以变换成一个只包含\(F_n\)\(F_{n+1}\)的公式,因为我们可以通过法则$$F_m=F_{m+2}-F_{m+1} \tag{2}$$来用更高次的斐波那契数表示\(F_m\)(当\(m<n\)时),且可以通过

\[F_m=F_{m-2}+F_{m-1} \tag{3} \]

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

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

\[F_{n+1}^2-F_{n+1}F_n-F_n^2=(-1)^n \tag{4} \]

\[F_{n+2}F_n-F_{n+1}^2=(-1)^{n+1} \tag{5} \]

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

\[F_{-n}=(-1)^{n-1}F_n,n是整数 \tag{6} \]

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

\[F_{n+k}=F_kF_{n+1}+F_{k-1}F_n \tag{7} \]

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

\[F_{2n}=F_nF_{n+1}+F_{n-1}F_n \tag{8} \]

从而\(F_{2n}\)\(F_n\)的倍数。类似地有

\[F_{3n}=F_{2n}F_{n+1}+F_{2n-1}F_n \]

而且我们可以断言,\(F_{3n}\)也是\(F_n\)的倍数。

2.斐波那契表示法

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

\[j\gg k\Leftrightarrow j\geq k+2 \tag{9} \]

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

\[n=F_{k_1}+F_{k_2}+\cdots+F_{k_r},k_1\gg k_2\gg \cdots\gg k_r\gg 0 \]

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

\[\begin{aligned}1\ 000\ 000&=832\ 040+121\ 393+46\ 368+144+55 \\&=\ \ \ \ F_{30}\ \ \ +\ \ \ \ F_{26}\ \ \ +\ \ \ F_{24}\ \ +F_{12}\ +F_{10}\end{aligned} \]

  每次选取\(F_{k_1}\)\(\leq n\)的最大的斐波那契数,然后选取\(F_{k_2}\)\(\leq n-F_{k_1}\)的最大的斐波那契数,这样一直下去总可以得到这样的表达式。
  任何有唯一性的表示系统都是一个数系,这样\(Zeckendor\)定理就引导出斐波那契数系。我们可以将任何非负整数\(n\)\(0\)\(1\)的一个序列表示,记

\[n=(b_mb_{m-1}\ldots b_2)_F\Leftrightarrow n=\sum_{k=2}^nb_kF_k \]

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

\[\begin{aligned} 1=(000001)_F && 4=(000101)_F && 12=(010101)_F && 13=(100000)_F\end{aligned} \]

  前面的100万斐波那契表示可以与它的二进制表示\(2^{19}+2^{18}+2^{17}+2^{16}+2^{14}+2^{9}+2^{6}\)作比较:

\[\begin{aligned}(1\ 000\ 000)_{10}&=(10\ 001\ 010\ 000\ 000\ 000\ 010\ 100\ 000\ 000)_F\\&=(11\ 110\ 100\ 001\ 001\ 000\ 000)_2\end{aligned} \]

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

3.另一个公式

  $$\gcd(F_m,F_n)=F_{\gcd(m,n)} \tag{10}$$

其它

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 @ 2018-06-16 23:54  SovietPower  阅读(1842)  评论(0编辑  收藏  举报