斐波那契数列中连续10项的和总是能被11整除吗?

背景

《斐波那契数列:定义自然法则的数学》 一书提到,斐波那契数列中连续 1010 10 项的和总是能被 1111 11 整除。这样的小结论,固然可以记下来,但是如果我们有比较通用的办法,来探索斐波那契数列中连续的 mm m 项的和满足怎样的规律,则更为有趣。

结论

kk k 斐波那契数列中连续 ? 项的和一定能被 kk k 整除
22 2 33 3
33 3 88 8
44 4 66 6
55 5 2020 20
66 6 2424 24
77 7 1616 16
88 8 1212 12
99 9 2424 24
1010 10 6060 60
1111 11 1010 10

正文

斐波那契数列

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

简单的分析

对比较小的 nn n 来说, Fn F_n Fn 的值列举如下 ⬇️

nn n Fn F_n Fn
11 1 11 1
22 2 11 1
33 3 22 2
44 4 33 3
55 5 55 5
66 6 88 8
77 7 1313 13
88 8 2121 21
99 9 3434 34
1010 10 5555 55
1111 11 8989 89
1212 12 144144 144
1313 13 233233 233
1414 14 377377 377
1515 15 610610 610
1616 16 987987 987
1717 17 15971597 1597
1818 18 25842584 2584
1919 19 41814181 4181
2020 20 67656765 6765

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

python 复制代码
print(r'| $n$ | $F_n$ |')
print('| --- | --- |')

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

连续 2 项的和

既然想探索连续项的和有什么规律,那么就先看连续 22 2 项的和吧 ⬇️

nn n Fn F_n Fn Fn+ Fn+1 F_n+F_{n+1} Fn+Fn+1
11 1 11 1 22 2
22 2 11 1 33 3
33 3 22 2 55 5
44 4 33 3 88 8
55 5 55 5 1313 13
66 6 88 8 2121 21
77 7 1313 13 3434 34
88 8 2121 21 5555 55
99 9 3434 34 8989 89
1010 10 5555 55 144144 144

考虑到 Fn+2 =Fn+ Fn+1 F_{n+2}=F_n+F_{n+1} Fn+2=Fn+Fn+1,那么斐波那契数列中连续 22 2 项的和仍旧会是数列中的某一项。

连续 3 项的和

我们再看看连续 33 3 项的和。 Fn+ Fn+1 + Fn+2 = Fn+2 + Fn+2 =2 Fn+2 F_n+F_{n+1}+F_{n+2}=F_{n+2}+F_{n+2}=2 F_{n+2} Fn+Fn+1+Fn+2=Fn+2+Fn+2=2Fn+2。所以斐波那契数列中,连续 33 3 项的和,一定是偶数。

一般化的分析

如果逐个观察不同 mm m 时, mm m 个连续项的和的规律,可能有点耗时间。我们换个思路,既然是想探索连续 mm m 项的和的规律,假设连续 mm m 项的和可以被 kk k 整除,那么我们只需要分析 Fn  mod  k F_n\bmod k Fnmodk 的规律即可。

k=2k=2 k=2

我们还是从 22 2 开始(但是现在分析的是 k=2k=2 k=2 的情况)。不难写出以下代码

python 复制代码
print(r'| $n$ | $F_n$ | $F_n\bmod 2$')
print('| --- | --- | --- |')

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

它生成的表格如下

nn n Fn F_n Fn Fn  mod  2 F_n\bmod 2 Fnmod2
11 1 11 1 11 1
22 2 11 1 11 1
33 3 22 2 00 0
44 4 33 3 11 1
55 5 55 5 11 1
66 6 88 8 00 0
77 7 1313 13 11 1
88 8 2121 21 11 1
99 9 3434 34 00 0
1010 10 5555 55 11 1
1111 11 8989 89 11 1
1212 12 144144 144 00 0
1313 13 233233 233 11 1
1414 14 377377 377 11 1
1515 15 610610 610 00 0
1616 16 987987 987 11 1
1717 17 15971597 1597 11 1
1818 18 25842584 2584 00 0
1919 19 41814181 4181 11 1
2020 20 67656765 6765 11 1

Fn  mod  2 F_n\bmod 2 Fnmod2 的规律很明显,它以 1,1,01,1,0 1,1,0 为周期,我们可以用数学归纳法证明这个规律是成立的。由此可知,斐波那契数列中连续 33 3 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+2 Fn≡1+1+0≡0(mod2) \sum_{n=m}^{n=m+2} F_n\equiv1+1+0\equiv0\pmod 2 n=m∑n=m+2Fn≡1+1+0≡0(mod2)

所以斐波那契数列中连续 33 3 项的和可以被 22 2 整除,这和我们刚才的分析是一致的。

k=3k=3 k=3

我们再看 k=3k=3 k=3 的情况,将代码稍做调整即可 ⬇️

python 复制代码
print(r'| $n$ | $F_n$ | $F_n\bmod 3$')
print('| --- | --- | --- |')

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

它生成的表格如下

nn n Fn F_n Fn Fn  mod  3 F_n\bmod 3 Fnmod3
11 1 11 1 11 1
22 2 11 1 11 1
33 3 22 2 22 2
44 4 33 3 00 0
55 5 55 5 22 2
66 6 88 8 22 2
77 7 1313 13 11 1
88 8 2121 21 00 0
99 9 3434 34 11 1
1010 10 5555 55 11 1
1111 11 8989 89 22 2
1212 12 144144 144 00 0
1313 13 233233 233 22 2
1414 14 377377 377 22 2
1515 15 610610 610 11 1
1616 16 987987 987 00 0
1717 17 15971597 1597 11 1
1818 18 25842584 2584 11 1
1919 19 41814181 4181 22 2
2020 20 67656765 6765 00 0

这次的周期稍长一些: 1,1,2,0,2,2,1,01,1,2,0,2,2,1,0 1,1,2,0,2,2,1,0(虽然是观察出来的规律,但是可以用数学归纳法证明其正确性)。

由此可知,斐波那契数列中连续 88 8 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+7 Fn≡1+1+2+0+2+2+1+0≡0(mod3) \sum_{n=m}^{n=m+7} F_n\equiv1+1+2+0+2+2+1+0\equiv 0\pmod 3 n=m∑n=m+7Fn≡1+1+2+0+2+2+1+0≡0(mod3)

所以斐波那契数列的连续 88 8 项的和,一定能被 33 3 整除。

k=4,5,6k=4,5,6 k=4,5,6

我们再看 k=4,5,6k=4,5,6 k=4,5,6 的情况,将代码稍做调整即可 ⬇️

python 复制代码
print(r'| $n$ | $F_n$ | $F_n\bmod 4$ | $F_n\bmod 5$ |$F_n\bmod 6$ |')
print('| --- | --- | --- | --- | --- | ')

curr, next = 1, 1
for i in range(1, 21):
    print(f'| ${i}$ | ${curr}$ | ${curr%4}$ | ${curr%5}$ | ${curr%6}$ |')
    curr, next = next, (curr + next)
nn n Fn F_n Fn Fn  mod  4 F_n\bmod 4 Fnmod4 Fn  mod  5 F_n\bmod 5 Fnmod5 Fn  mod  6 F_n\bmod 6 Fnmod6
11 1 11 1 11 1 11 1 11 1
22 2 11 1 11 1 11 1 11 1
33 3 22 2 22 2 22 2 22 2
44 4 33 3 33 3 33 3 33 3
55 5 55 5 11 1 00 0 55 5
66 6 88 8 00 0 33 3 22 2
77 7 1313 13 11 1 33 3 11 1
88 8 2121 21 11 1 11 1 33 3
99 9 3434 34 22 2 44 4 44 4
1010 10 5555 55 33 3 00 0 11 1
1111 11 8989 89 11 1 44 4 55 5
1212 12 144144 144 00 0 44 4 00 0
1313 13 233233 233 11 1 33 3 55 5
1414 14 377377 377 11 1 22 2 55 5
1515 15 610610 610 22 2 00 0 44 4
1616 16 987987 987 33 3 22 2 33 3
1717 17 15971597 1597 11 1 22 2 11 1
1818 18 25842584 2584 00 0 44 4 44 4
1919 19 41814181 4181 11 1 11 1 55 5
2020 20 67656765 6765 11 1 00 0 33 3

Fn  mod  4 F_n\bmod 4 Fnmod4 以 1,1,2,3,1,01,1,2,3,1,0 1,1,2,3,1,0 为周期。

由此可知,斐波那契数列中连续 66 6 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+5 Fn≡1+1+2+3+1+0≡0(mod4) \sum_{n=m}^{n=m+5} F_n\equiv1+1+2+3+1+0\equiv 0\pmod 4 n=m∑n=m+5Fn≡1+1+2+3+1+0≡0(mod4)

所以斐波那契数列的连续 66 6 项的和,一定能被 44 4 整除。

继续分析 k=5,6k=5,6 k=5,6 的情况时,会发现周期比较长,一眼似乎看不出来周期是什么。此时,我们再换换思路。如果 Fn  mod  k F_n\bmod k Fnmodk 这个数列存在某个周期 TT T,那么

  • F1  mod  k= F1+T   mod  k F_1\bmod k= F_{1+T}\bmod k F1modk=F1+Tmodk
  • F2  mod  k= F2+T   mod  k F_2\bmod k= F_{2+T}\bmod k F2modk=F2+Tmodk
  • F3  mod  k= F3+T   mod  k F_3\bmod k= F_{3+T}\bmod k F3modk=F3+Tmodk
  • ⋯\cdots

那么 (Fn  mod  k, Fn+1   mod  k) (F_n\bmod k,F_{n+1}\bmod k) (Fnmodk,Fn+1modk) 这样的数对(这里的小括号表示一对数字)也会以周期 TT T 重复出现,即

  • (F1  mod  k,F2  mod  k)=( F1+T   mod  k, F2+T   mod  k) (F_1\bmod k, F_2\bmod k)= (F_{1+T}\bmod k, F_{2+T}\bmod k) (F1modk,F2modk)=(F1+Tmodk,F2+Tmodk)
  • (F2  mod  k,F3  mod  k)=( F2+T   mod  k, F3+T   mod  k) (F_2\bmod k, F_3\bmod k)= (F_{2+T}\bmod k, F_{3+T}\bmod k) (F2modk,F3modk)=(F2+Tmodk,F3+Tmodk)
  • (F3  mod  k,F4  mod  k)=( F3+T   mod  k, F4+T   mod  k) (F_3\bmod k, F_4\bmod k)= (F_{3+T}\bmod k, F_{4+T}\bmod k) (F3modk,F4modk)=(F3+Tmodk,F4+Tmodk)
  • ⋯\cdots

为了方便讨论,我们记 an=(Fn  mod  k, Fn+1   mod  k) a_n=(F_n\bmod k,F_{n+1}\bmod k) an=(Fnmodk,Fn+1modk)。

0≤(Fn  mod  k)<k 0\le (F_n\bmod k) \lt k 0≤(Fnmodk)<k 总是成立,所以 an a_n an 的可能取值只有 k×k=k2k\times k=k^2 k×k=k2 个(有的值可能取不到)。根据鸽笼原理, a1,a2,⋯ , ak2+1 a_1,a_2,\cdots,a_{k^2+1} a1,a2,⋯,ak2+1 这 k2+1k^2+1 k2+1 个值必然有重复的(因为 an a_n an 的可能取值只有 k2k^2 k2 个)。假设第一个重复出现的值为 adup a_{dup} adup 且 adup = adup−t a_{dup}=a_{dup-t} adup=adup−t。注意到
an=(Fn  mod  k, Fn+1   mod  k) a_{n}=(F_{n}\bmod k, F_{n+1} \bmod k) an=(Fnmodk,Fn+1modk)
an+1 =( Fn+1   mod  k, Fn+2   mod  k) a_{n+1}=(F_{n+1}\bmod k, F_{n+2} \bmod k) an+1=(Fn+1modk,Fn+2modk)
Fn+2 = Fn+1 +Fn F_{n+2}=F_{n+1}+F_n Fn+2=Fn+1+Fn

所以
an+1 =( Fn+1   mod  k,( Fn+1 +Fn)  mod  k) a_{n+1}=(F_{n+1}\bmod k, (F_{n+1} + F_n) \bmod k) an+1=(Fn+1modk,(Fn+1+Fn)modk)
=(an1,(an0+an1)  mod  k) =(a_n1, (a_n0+a_n1) \bmod k) =(an1,(an0+an1)modk)

也就是说,从 an a_{n} an 可以直接得出 an+1 a_{n+1} an+1。 既然 adup = adup−t a_{dup}=a_{dup-t} adup=adup−t,那么必然有 ⬇️

  • adup+1 = adup−t+1 a_{dup+1}=a_{dup-t+1} adup+1=adup−t+1
  • adup+2 = adup−t+2 a_{dup+2}=a_{dup-t+2} adup+2=adup−t+2
  • adup+3 = adup−t+3 a_{dup+3}=a_{dup-t+3} adup+3=adup−t+3
  • ⋯\cdots

那么对任意 n≥dupn\ge dup n≥dup, an= an−t a_n=a_{n-t} an=an−t 都成立。

刚才提到从 an a_{n} an 可以直接得出 an+1 a_{n+1} an+1,那么如果知道 an+1 a_{n+1} an+1,能否反推出 an a_n an 呢?我们试一试 ⬇️
an=(Fn  mod  k, Fn+1   mod  k) a_{n}=(F_{n}\bmod k, F_{n+1} \bmod k) an=(Fnmodk,Fn+1modk)
=(( Fn+2 − Fn+1 )  mod  k, Fn+1   mod  k) =((F_{n+2}-F_{n+1})\bmod k,F_{n+1} \bmod k) =((Fn+2−Fn+1)modk,Fn+1modk)
=(( an+1 1− an+1 0)  mod  k, an+1 0) =((a_{n+1}1-a_{n+1}0)\bmod k,a_{n+1}0) =((an+11−an+10)modk,an+10)

看来从 an+1 a_{n+1} an+1 也可以直接得出 an a_{n} an。

有趣的部分来了。考虑到 adup = adup−t a_{dup}=a_{dup-t} adup=adup−t,根据刚才提到的 "从 an+1 a_{n+1} an+1 也可以直接得出 an a_{n} an" 可知以下 dup−tdup-t dup−t 个等式都成立 ⬇️

  • adup = adup−t a_{dup}=a_{dup-t} adup=adup−t
  • adup−1 = adup−t−1 a_{dup-1}=a_{dup-t-1} adup−1=adup−t−1
  • adup−2 = adup−t−2 a_{dup-2}=a_{dup-t-2} adup−2=adup−t−2
  • ⋯\cdots
  • a1+t =a1 a_{1+t}=a_{1} a1+t=a1

所以 a1+t a_{1+t} a1+t 会是第一个重复的值,它的值和 a1 a_1 a1 相等。如此说来,我们只要找到第一个和 a1 a_1 a1 相等的 an a_n an( n≥2n\ge2 n≥2),就可以得出周期 t=n−1t=n-1 t=n−1 了。由于 Fn  mod  k=an0 F_n\bmod k=a_n0 Fnmodk=an0,那么 tt t 自然也是 Fn  mod  k F_n\bmod k Fnmodk 的(一个)周期。

我用 Python3Python3 Python3 实现了这样的逻辑 ⬇️ (豆包 提供了一些帮助)

python 复制代码
import argparse

def main():
    parser = argparse.ArgumentParser(description="斐波那契模k周期计算")
    parser.add_argument("-k", type=int, required=True, help="取模的k值,正整数")
    args = parser.parse_args()
    k = args.k

    if k <= 0:
        raise ValueError("k必须为正整数")

    print('```text')
    appeared_fib_pairs = set()
    fib_pair = (1, 1)
    n = 1
    seen_num = []
    while True:
        if fib_pair in appeared_fib_pairs:
            break
        appeared_fib_pairs.add(fib_pair)
        seen_num.append(fib_pair[0])
        print(f'{n}: {fib_pair}')
        next_fib_pair = (fib_pair[1], (fib_pair[0] + fib_pair[1]) % k)
        fib_pair = next_fib_pair
        n += 1
    print('```')

    if sum(seen_num) % k != 0:
        return
    conclusion = f'''
由此可知,斐波那契数列中连续 ${len(appeared_fib_pairs)}$ 项的和满足 ⬇️ ($m$ 是任意正整数)
$$
\\sum_{{n=m}}^{{n=m+{len(appeared_fib_pairs)-1}}} F_n \\equiv {'+'.join(map(str, seen_num))}\\equiv 0\\pmod {{{k}}}
$$ 
所以斐波那契数列的连续 ${len(appeared_fib_pairs)}$ 项的和,一定能被 ${k}$ 整除。
'''
    print(conclusion)


if __name__ == "__main__":
    main()

请将以上代码保存为 find_period.py。运行以下命令可以处理 k=5k=5 k=5 的情况

bash 复制代码
python3 find_period.py -k 5

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 0)
5: (0, 3)
6: (3, 3)
7: (3, 1)
8: (1, 4)
9: (4, 0)
10: (0, 4)
11: (4, 4)
12: (4, 3)
13: (3, 2)
14: (2, 0)
15: (0, 2)
16: (2, 2)
17: (2, 4)
18: (4, 1)
19: (1, 0)
20: (0, 1)

由此可知,斐波那契数列中连续 2020 20 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+19 Fn≡1+1+2+3+0+3+3+1+4+0+4+4+3+2+0+2+2+4+1+0≡0(mod5) \sum_{n=m}^{n=m+19} F_n \equiv 1+1+2+3+0+3+3+1+4+0+4+4+3+2+0+2+2+4+1+0\equiv 0\pmod {5} n=m∑n=m+19Fn≡1+1+2+3+0+3+3+1+4+0+4+4+3+2+0+2+2+4+1+0≡0(mod5)

所以斐波那契数列的连续 2020 20 项的和,一定能被 55 5 整除。

运行以下命令可以处理 k=6k=6 k=6 的情况

bash 复制代码
python3 find_period.py -k 6

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 5)
5: (5, 2)
6: (2, 1)
7: (1, 3)
8: (3, 4)
9: (4, 1)
10: (1, 5)
11: (5, 0)
12: (0, 5)
13: (5, 5)
14: (5, 4)
15: (4, 3)
16: (3, 1)
17: (1, 4)
18: (4, 5)
19: (5, 3)
20: (3, 2)
21: (2, 5)
22: (5, 1)
23: (1, 0)
24: (0, 1)

由此可知,斐波那契数列中连续 2424 24 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+23 Fn≡1+1+2+3+5+2+1+3+4+1+5+0+5+5+4+3+1+4+5+3+2+5+1+0≡0(mod6) \sum_{n=m}^{n=m+23} F_n \equiv 1+1+2+3+5+2+1+3+4+1+5+0+5+5+4+3+1+4+5+3+2+5+1+0\equiv 0\pmod {6} n=m∑n=m+23Fn≡1+1+2+3+5+2+1+3+4+1+5+0+5+5+4+3+1+4+5+3+2+5+1+0≡0(mod6)

所以斐波那契数列的连续 2424 24 项的和,一定能被 66 6 整除。

k=7,8,9,10k=7,8,9,10 k=7,8,9,10

我们再看 k=7,8,9,10k=7,8,9,10 k=7,8,9,10 的情况。

运行以下命令可以处理 k=7k=7 k=7 的情况

bash 复制代码
python3 find_period.py -k 7

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 5)
5: (5, 1)
6: (1, 6)
7: (6, 0)
8: (0, 6)
9: (6, 6)
10: (6, 5)
11: (5, 4)
12: (4, 2)
13: (2, 6)
14: (6, 1)
15: (1, 0)
16: (0, 1)

由此可知,斐波那契数列中连续 1616 16 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+15 Fn≡1+1+2+3+5+1+6+0+6+6+5+4+2+6+1+0≡0(mod7) \sum_{n=m}^{n=m+15} F_n \equiv 1+1+2+3+5+1+6+0+6+6+5+4+2+6+1+0\equiv 0\pmod {7} n=m∑n=m+15Fn≡1+1+2+3+5+1+6+0+6+6+5+4+2+6+1+0≡0(mod7)

所以斐波那契数列的连续 1616 16 项的和,一定能被 77 7 整除。

运行以下命令可以处理 k=8k=8 k=8 的情况

bash 复制代码
python3 find_period.py -k 8

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 5)
5: (5, 0)
6: (0, 5)
7: (5, 5)
8: (5, 2)
9: (2, 7)
10: (7, 1)
11: (1, 0)
12: (0, 1)

由此可知,斐波那契数列中连续 1212 12 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+11 Fn≡1+1+2+3+5+0+5+5+2+7+1+0≡0(mod8) \sum_{n=m}^{n=m+11} F_n \equiv 1+1+2+3+5+0+5+5+2+7+1+0\equiv 0\pmod {8} n=m∑n=m+11Fn≡1+1+2+3+5+0+5+5+2+7+1+0≡0(mod8)

所以斐波那契数列的连续 1212 12 项的和,一定能被 88 8 整除。

运行以下命令可以处理 k=9k=9 k=9 的情况

bash 复制代码
python3 find_period.py -k 9

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 5)
5: (5, 8)
6: (8, 4)
7: (4, 3)
8: (3, 7)
9: (7, 1)
10: (1, 8)
11: (8, 0)
12: (0, 8)
13: (8, 8)
14: (8, 7)
15: (7, 6)
16: (6, 4)
17: (4, 1)
18: (1, 5)
19: (5, 6)
20: (6, 2)
21: (2, 8)
22: (8, 1)
23: (1, 0)
24: (0, 1)

由此可知,斐波那契数列中连续 2424 24 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+23 Fn≡1+1+2+3+5+8+4+3+7+1+8+0+8+8+7+6+4+1+5+6+2+8+1+0≡0(mod9) \sum_{n=m}^{n=m+23} F_n \equiv 1+1+2+3+5+8+4+3+7+1+8+0+8+8+7+6+4+1+5+6+2+8+1+0\equiv 0\pmod {9} n=m∑n=m+23Fn≡1+1+2+3+5+8+4+3+7+1+8+0+8+8+7+6+4+1+5+6+2+8+1+0≡0(mod9)

所以斐波那契数列的连续 2424 24 项的和,一定能被 99 9 整除

k=10k=10 k=10 的情况,我在 斐波那契数列的个位数出现的周期是多少? 一文里专门进行了讨论。

运行以下命令可以处理 k=10k=10 k=10 的情况

bash 复制代码
python3 find_period.py -k 10

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 5)
5: (5, 8)
6: (8, 3)
7: (3, 1)
8: (1, 4)
9: (4, 5)
10: (5, 9)
11: (9, 4)
12: (4, 3)
13: (3, 7)
14: (7, 0)
15: (0, 7)
16: (7, 7)
17: (7, 4)
18: (4, 1)
19: (1, 5)
20: (5, 6)
21: (6, 1)
22: (1, 7)
23: (7, 8)
24: (8, 5)
25: (5, 3)
26: (3, 8)
27: (8, 1)
28: (1, 9)
29: (9, 0)
30: (0, 9)
31: (9, 9)
32: (9, 8)
33: (8, 7)
34: (7, 5)
35: (5, 2)
36: (2, 7)
37: (7, 9)
38: (9, 6)
39: (6, 5)
40: (5, 1)
41: (1, 6)
42: (6, 7)
43: (7, 3)
44: (3, 0)
45: (0, 3)
46: (3, 3)
47: (3, 6)
48: (6, 9)
49: (9, 5)
50: (5, 4)
51: (4, 9)
52: (9, 3)
53: (3, 2)
54: (2, 5)
55: (5, 7)
56: (7, 2)
57: (2, 9)
58: (9, 1)
59: (1, 0)
60: (0, 1)

由此可知,斐波那契数列中连续 6060 60 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+59 Fn≡1+1+2+3+5+8+3+1+4+5+9+4+3+7+0+7+7+4+1+5+6+1+7+8+5+3+8+1+9+0+9+9+8+7+5+2+7+9+6+5+1+6+7+3+0+3+3+6+9+5+4+9+3+2+5+7+2+9+1+0≡0(mod10) \sum_{n=m}^{n=m+59} F_n \equiv 1+1+2+3+5+8+3+1+4+5+9+4+3+7+0+7+7+4+1+5+6+1+7+8+5+3+8+1+9+0+9+9+8+7+5+2+7+9+6+5+1+6+7+3+0+3+3+6+9+5+4+9+3+2+5+7+2+9+1+0\equiv 0\pmod {10} n=m∑n=m+59Fn≡1+1+2+3+5+8+3+1+4+5+9+4+3+7+0+7+7+4+1+5+6+1+7+8+5+3+8+1+9+0+9+9+8+7+5+2+7+9+6+5+1+6+7+3+0+3+3+6+9+5+4+9+3+2+5+7+2+9+1+0≡0(mod10)

所以斐波那契数列的连续 6060 60 项的和,一定能被 1010 10 整除。

k=11k=11 k=11 的情况

运行以下命令可以处理 k=11k=11 k=11 的情况

bash 复制代码
python3 find_period.py -k 11

完整的运行结果如下

text 复制代码
1: (1, 1)
2: (1, 2)
3: (2, 3)
4: (3, 5)
5: (5, 8)
6: (8, 2)
7: (2, 10)
8: (10, 1)
9: (1, 0)
10: (0, 1)

由此可知,斐波那契数列中连续 1010 10 项的和满足 ⬇️ ( mm m 是任意正整数)
∑n=mn=m+9 Fn≡1+1+2+3+5+8+2+10+1+0≡0(mod11) \sum_{n=m}^{n=m+9} F_n \equiv 1+1+2+3+5+8+2+10+1+0\equiv 0\pmod {11} n=m∑n=m+9Fn≡1+1+2+3+5+8+2+10+1+0≡0(mod11)

所以斐波那契数列的连续 1010 10 项的和,一定能被 1111 11 整除。

相关推荐
沧海一笑-dj4 小时前
【Python】Python学习笔记-初识 Python
python·python安装·python解释器
打工仔折腾 AI4 小时前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
hanchenxing4 小时前
AI 数据管道重构:从函数堆到链式管道的可读性实践
python
hhzz4 小时前
【OpenCV 入门到精通 10】视频分析与光流跟踪:背景减除与运动检测
人工智能·python·opencv·性能优化
蓝胖的四次元口袋4 小时前
Python基础语法入门
python
Patrick在香港4 小时前
Python 抓 0.91 GB 香港法例:Agent 的进度该写进磁盘,不是写进上下文
爬虫·python·api·claude·香港
ClinicTech5 小时前
实验室洗瓶机的清洗系统架构与自动化控制解析
java·python
洋洋不叫杨杨5 小时前
Codex 实战:用 AI 写运维脚本
大数据·python
高级程序源5 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
wno7045 小时前
Spring Security短信验证码登录
java·python·spring