斐波那契数列的前 k 项和

15 阅读1分钟

结论

  • FnF_n 的前 kk 项和满足
i=1i=kFi=Fk+21\sum_{i=1}^{i=k}{F_i}=F_{k+2}-1
  • FnF_n 的前 kk 个奇数项的和满足
i=1i=kF2i1=F2k\sum_{i=1}^{i=k}{F_{2i-1}}=F_{2k}
  • FnF_n 的前 kk 个偶数项的和满足
i=1i=kF2i=F2k+11\sum_{i=1}^{i=k}{F_{2i}}=F_{2k+1}-1

正文

斐波那契数列

F1=1,F2=1F_1=1,F_2=1,对满足 n3n\ge 3nn 而言,Fn=Fn1+Fn2F_n=F_{n-1}+F_{n-2}。满足这样的规则的数列,我们称其为斐波那契数列。

简单的分析

对比较小的 nn 来说,FnF_n 以及前 nn 项和 Sn=i=1i=nFiS_n=\sum_{i=1}^{i=n}{F_i} 的值列举如下 ⬇️

nnFnF_nSnS_n
111111
221122
332244
443377
55551212
66882020
7713133333
8821215454
9934348888
10105555143143
11118989232232
1212144144376376
1313233233609609
1414377377986986
151561061015961596
161698798725832583
17171597159741804180
18182584258467646764
1919418141811094510945
2020676567651771017710

生成上方表格的 Python3Python3 代码如下 ⬇️

print(r'| $n$ | $F_n$ | $S_n$ |')
print('| --- | --- | --- | ')

curr = 1
next = 1
sum = 0
for i in range(1, 21):
    sum += curr
    print(f'| ${i}$ | ${curr}$ | ${sum}$ |')
    curr, next = next, (curr + next)

通过观察这个表格,您也许会发现(如果没发现也没关系)Sn=Fn+21S_n=F_{n+2}-1 似乎总是成立。

用数学归纳法

用数学归纳法也许可以证明它,我们来试试。

n=1n=1 时,S1=1=F31=21S_1=1=F_{3}-1=2-1 成立。

假设 Sn=Fn+21S_n=F_{n+2}-1n=1,2,3,,kn=1,2,3,\cdots,k 都成立。

我们来看看 n=k+1n=k+1 时的情况。

Sk+1=Sk+Fk+1S_{k+1}=S_k+F_{k+1}
=Fk+21+Fk+1=F_{k+2}-1+F_{k+1}
=Fk+1+Fk+21=F_{k+1}+F_{k+2}-1
=Fk+31=F_{k+3}-1
=F(k+1)+21=F_{(k+1)+2}-1

所以 n=k+1n=k+1 时,Sn=Fn+21S_n=F_{n+2}-1 也成立,那么 Sn=Fn+21S_n=F_{n+2}-1 对任意正整数 nn 都成立。

不用数学归纳法

不用数学归纳法,也可以证明 Sn=Fn+21S_n=F_{n+2}-1,一个可行的方案如下

  • F1=F3F2F_1=F_3-F_2
  • F2=F4F3F_2=F_4-F_3
  • F3=F5F4F_3=F_5-F_4
  • \cdots
  • Fn=Fn+2Fn+1F_n=F_{n+2}-F_{n+1}

对以上 nn 个等式求和,可以得到

i=1i=nFi=Fn+21\sum_{i=1}^{i=n}{F_i}=F_{n+2}-1

FnF_n 中前 k 个奇数项的和

我们再来观察一下 FnF_n 中前 kk 个奇数项的和有什么规律。 对比较小的 kk 来说,前 kk 个奇数项的和的值列举如下 ⬇️

kk2k12k-1F2k1F_{2k-1}F2kF_{2k}kk个奇数项的和
1111111111
2233223333
3355558888
4477131321212121
5599343455555555
6611118989144144144144
771313233233377377377377
881515610610987987987987
991717159715972584258425842584
10101919418141816765676567656765

生成上方表格的 Python3Python3 代码如下 ⬇️

print(r'| $k$ | $2k-1$ | $F_{2k-1}$ | $F_{2k}$ | 前$k$个奇数项的和 |')
print('| --- | --- | --- | --- | --- |')

curr = 1
next = 1
sum = 0
for i in range(1, 21):
    if i % 2 == 1:
        sum += curr
        print(f'| ${(i+1)//2}$ | ${i}$ | ${curr}$ | ${next}$ | ${sum}$ |')
    curr, next = next, (curr + next)

kk 个奇数项的和似乎总是等于 F2kF_{2k}

用数学归纳法

估计也可以用数学归纳法来证明。我们试一试。

k=1k=1 时,F1=1=F2=1F_1=1=F_2=1 成立

假设前 kk 个奇数项的和等于 F2kF_{2k} 成立,那么我们看看 k+1k+1 时的情况。

i=1i=k+1F2i1=i=1i=kF2i1+F2k+1\sum_{i=1}^{i=k+1}{F_{2i-1}}=\sum_{i=1}^{i=k}{F_{2i-1}}+F_{2k+1}
=F2k+F2k+1=F_{2k}+F_{2k+1}
=F2k+2=F_{2k+2}
=F2(k+1)=F_{2(k+1)}

所以 k+1k+1 时,我们的猜测也成立。于是,FnF_n 的前 kk 个奇数项的和等于 F2kF_{2k} 对任意正整数 kk 都成立。

不用数学归纳法

不用数学归纳法,也可以证明 i=1i=nF2i1=F2n\sum_{i=1}^{i=n}{F_{2i-1}}=F_{2n},一个可行的方案如下

  • F1=F20F_1=F_2-0
  • F3=F4F2F_3=F_4-F_2
  • F5=F6F4F_5=F_6-F_4
  • \cdots
  • F2n1=F2nF2n2F_{2n-1}=F_{2n}-F_{2n-2}

对以上 nn 个等式求和,可以得到

i=1i=nF2i1=F2n\sum_{i=1}^{i=n}{F_{2i-1}}=F_{2n}

FnF_n 中前 k 个偶数项的和

我们再来观察一下 FnF_n 中前 kk 个偶数项的和有什么规律。 对比较小的 kk 来说,前 kk 个偶数项的和的值列举如下 ⬇️

kk2k2kF2kF_{2k}F2k+1F_{2k+1}kk个偶数项的和
1122112211
2244335544
33668813131212
4488212134343333
551010555589898888
661212144144233233232232
771414377377610610609609
8816169879871597159715961596
991818258425844181418141804180
101020206765676510946109461094510945

生成上方表格的 Python3Python3 代码如下 ⬇️

print(r'| $k$ | $2k$ | $F_{2k}$ | $F_{2k+1}$ | 前$k$个偶数项的和 |')
print('| --- | --- | --- | --- | --- |')

curr = 1
next = 1
sum = 0
for i in range(1, 21):
    if i % 2 == 0:
        sum += curr
        print(f'| ${i//2}$ | ${i}$ | ${curr}$ | ${next}$ | ${sum}$ |')
    curr, next = next, (curr + next)

kk 个偶数项的和似乎总是等于 F2k+11F_{2k+1}-1

用数学归纳法

我们试试用数学归纳法来证明它。

k=1k=1 时,F2=1=F31F_2=1=F_3-1 成立

假设前 kk 个偶项的和等于 F2k+11F_{2k+1}-1 成立,那么我们看看 k+1k+1 时的情况。

i=1i=k+1F2i=i=1i=kF2i+F2k+2\sum_{i=1}^{i=k+1}{F_{2i}}=\sum_{i=1}^{i=k}{F_{2i}}+F_{2k+2}
=F2k+11+F2k+2=F_{2k+1}-1+F_{2k+2}
=F2k+1+F2k+21=F_{2k+1}+F_{2k+2}-1
=F2k+31=F_{2k+3}-1
=F2(k+1)+11=F_{2(k+1)+1}-1

所以 k+1k+1 时,我们的猜测也成立。于是,FnF_n 的前 kk 个偶数项的和等于 F2k+11F_{2k+1}-1 对任意正整数 kk 都成立。

不用数学归纳法

不用数学归纳法,也可以证明 i=1i=nF2i=F2n+11\sum_{i=1}^{i=n}{F_{2i}}=F_{2n+1}-1,一个可行的方案如下

  • F2=F3F1F_2=F_3-F_1
  • F4=F5F3F_4=F_5-F_3
  • F6=F7F5F_6=F_7-F_5
  • \cdots
  • F2n=F2n+1F2n1F_{2n}=F_{2n+1}-F_{2n-1}

对以上 nn 个等式求和,可以得到

i=1i=nF2i=F2n+1F1=F2n+11\sum_{i=1}^{i=n}{F_{2i}}=F_{2n+1}-F_1=F_{2n+1}-1