斐波那契数列的前 k 项和

15 阅读1分钟

结论

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

正文

斐波那契数列

F1=1,F2=1F_1=1,F_2=1,对满足 n≥3n\ge 3 的 nn 而言,Fn=Fn−1+Fn−2F_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+2−1S_n=F_{n+2}-1 似乎总是成立。

用数学归纳法

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

当 n=1n=1 时,S1=1=F3−1=2−1S_1=1=F_{3}-1=2-1 成立。

假设 Sn=Fn+2−1S_n=F_{n+2}-1 对 n=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+2−1+Fk+1=F_{k+2}-1+F_{k+1}
=Fk+1+Fk+2−1=F_{k+1}+F_{k+2}-1
=Fk+3−1=F_{k+3}-1
=F(k+1)+2−1=F_{(k+1)+2}-1

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

不用数学归纳法

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

  • F1=F3−F2F_1=F_3-F_2
  • F2=F4−F3F_2=F_4-F_3
  • F3=F5−F4F_3=F_5-F_4
  • ⋯\cdots
  • Fn=Fn+2−Fn+1F_n=F_{n+2}-F_{n+1}

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

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

FnF_n 中前 k 个奇数项的和

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

kk2k−12k-1F2k−1F_{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+1F2i−1=∑i=1i=kF2i−1+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=nF2i−1=F2n\sum_{i=1}^{i=n}{F_{2i-1}}=F_{2n},一个可行的方案如下

  • F1=F2−0F_1=F_2-0
  • F3=F4−F2F_3=F_4-F_2
  • F5=F6−F4F_5=F_6-F_4
  • ⋯\cdots
  • F2n−1=F2n−F2n−2F_{2n-1}=F_{2n}-F_{2n-2}

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

∑i=1i=nF2i−1=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+1−1F_{2k+1}-1。

用数学归纳法

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

当 k=1k=1 时,F2=1=F3−1F_2=1=F_3-1 成立

假设前 kk 个偶项的和等于 F2k+1−1F_{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+1−1+F2k+2=F_{2k+1}-1+F_{2k+2}
=F2k+1+F2k+2−1=F_{2k+1}+F_{2k+2}-1
=F2k+3−1=F_{2k+3}-1
=F2(k+1)+1−1=F_{2(k+1)+1}-1

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

不用数学归纳法

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

  • F2=F3−F1F_2=F_3-F_1
  • F4=F5−F3F_4=F_5-F_3
  • F6=F7−F5F_6=F_7-F_5
  • ⋯\cdots
  • F2n=F2n+1−F2n−1F_{2n}=F_{2n+1}-F_{2n-1}

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

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