利用普通生成函数解斐波那契数列的通项问题

最近一场模拟赛考了这个公式,发现自己不会证,在 @Y_B_X 大佬的帮助下学会了证明,记录一下方便复习

  • 问题:定义斐波那契数列 (f_i=f_{i-1}+f_{i-2},f_1=f_2=1),求 ({ f_i }) 通项。

解:首先设 ({ f_i }) 的普通生成函数为

[F(x)=sumlimits_{k geq 1}{f_kx^k} ]

按套路,设

[G(x)=sumlimits_{k geq 3}{f_kx^k}=F(x)-x-x^2 ]

那么有:

[G(x)=sumlimits_{k geq 3}{f_kx^k}=sumlimits_{k geq 3}{(f_{k-1}+f_{k-2})x^k}=xsumlimits_{k geq 2}{f_kx^k}+x^2 sumlimits_{k geq 1}{f_kx^k}=x(F(x)-x)+x^2F(x) ]

结合 (G(x)=F(x)-x-x^2),移项解得:

[F(x)=frac{x}{1-x-x^2} ]

这就是斐波那契数列的生成函数。
到了这一步,我们将它级数展开,按套路设:

[frac{x}{1-x-x^2}=frac{x}{(1-x·x_1)(1-x·x_2)}=frac{A}{1-x·x_1}+frac{B}{1-x·x_2} ]

可解得 (x_1=frac{1 + sqrt 5}{2},x_2=frac{1 - sqrt 5}{2}),整理上式有:

  • (frac{x}{1-x·x_2}=A+frac{1-x·x_1}{1-x·x_2}B)
  • (frac{x}{1-x·x_1}=A+frac{1-x·x_2}{1-x·x_1}B)
    在这两个式子中分别令 (x·x_1=1,x·x_2=1),最后可解出:

[A=frac{1}{sqrt 5},B=-frac{1}{sqrt 5} ]

(F(x)=frac{A}{1-x·x_1}+frac{B}{1-x·x_2})级数展开:

[F(x)=A(sumlimits_{k geq 1}{(x·x_1)^k})+B(sumlimits_{k geq 1}{(x·x_2)^k}) ]

(A,B,x_1,x_2) 全部代入,最后有:

[F(x)=sumlimits_{k geq 1}[frac{1}{sqrt 5}(frac{1 + sqrt 5}{2})^k-frac{1}{sqrt 5}(frac{1 - sqrt 5}{2})^k]x^k ]

于是有斐波那契数列的通项公式:

[f_n=[x^n]F(n)=frac{1}{sqrt 5}(frac{1 + sqrt 5}{2})^n-frac{1}{sqrt 5}(frac{1 - sqrt 5}{2})^n ]

P.S.

  • (f_0=f_1=1),则通项公式为:

[f_n=frac{1}{sqrt 5}(frac{1 + sqrt 5}{2})^{n+1}-frac{1}{sqrt 5}(frac{1 - sqrt 5}{2})^{n+1} ]