斐波那契数列中连续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 整除。

相关推荐
databook17 分钟前
用 Python 计算联合概率和条件概率
python·数据分析
葡萄成熟时 !1 小时前
泛型知识笔记
开发语言·笔记·python
fengyangaiGEO1 小时前
GEO 如何分析竞品的 AI 引用情况?
人工智能·python·信息可视化
2601_966949651 小时前
实时行情中的成交量 Volume 到底是什么?包含盘中撤单量吗?从交易数据语义到 QuantDash 实战解析
开发语言·人工智能·python·量化·quantdash·量化数据源
you鬰2 小时前
datawhale--llm-algo-leetcode9️⃣ SFT Training Loop
python·datawhale
叫我:松哥2 小时前
基于flask仿小米商城管理系统,使用flask开的一个商场网站
数据库·后端·python·flask
智购科技无人售货机工厂2 小时前
2026自动售货机防拆机物理安全设计:从安全螺丝到结构互锁的工程实践~YH
android·网络·驱动开发·python·单片机·安全·云原生
2401_868534782 小时前
校园网规划与设计
python·pygame
小猴子爱上树2 小时前
跨境电商AI批量图片翻译工具,视频字幕翻译免费试用
人工智能·python·音视频