斐波那契数列の循环节
Posted wlzhouzhuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斐波那契数列の循环节相关的知识,希望对你有一定的参考价值。
这问题咕咕咕了好久,来填坑了。
问题
求斐波那契数列在模 (p) 意义下的循环节 (m) 。
解法
首先知道 (fib) 通项公式为 (f(n)=frac{A^n-B^n}{sqrt{5}}) ,其中 (A=frac{1+sqrt{5}}{2},B=frac{1-sqrt{5}}{2}) 。
这里有个 (sqrt{5}) ,故要从二次剩余角度去分析。
对于 (p=2) 和 (p=5)
直接手玩,可得 (p=2) 时,(m=3) ;(p=5) 时,(m=20) 。
对于非 5 的奇质数
1. 若 5 是模 p 意义下的二次剩余
由费马小定理知 (A^{p-1}≡1(mod p),B^{p-1}≡1(mod p))
则
可发现 ((f(0),f(1))) 和 ((f(p-1),f(p))) 相等,故 (m | p-1) 。
2. 若 5 是模 p 意义下的二次非剩余
由欧拉判别准则知 (5^{frac{p-1}{2}}≡-1(mod p))
同理可得
则
可发现 ((f(0),f(1))) 和 ((f(2p+2),f(2p+3))) 相等,故 (m|2p+2) 。
对于质数的幂 (p^k)
- 结论1
若 (a≡1(mod p)) ,则 (a^{p^k}≡1(mod p^{k+1})) 。
证明可用二项式定理,具体地,令 (a=px+1) ,则
设在模 (p) 意义下循环节长度为 (m) ,在模 (p^k) 意义下循环节长度为 (m‘) ,则有
故 (A^m≡B^m(mod p))
故 (A^{m+1}-B^{m+1}-A+B≡0(mod p)) ,化简一下,得 ((A-B)(A^m-1)≡0(mod p))
所以有
很显然了,循环节 (m‘|mp^{k-1}) 。
可断言 (m‘=mp^{k-1}) (无一反例),但数学界目前暂未证明出来。
对于合数 (p=p_1^{a_1}p_2^{a_2}...p_k^{a_k})
我们记 (g(p)) 表示模 (p) 意义下的循环节长度,则满足
显然 (g(p)=lcm_{i=1}^{k}g(p_i^{a_i})) 。
只需要做一次 (CRT) 即可得到答案。
上界估计
先剔除 (p_i=2) 、 (p_i=3) 和 (p_i=5) ,则有
如果加入 (p_i=2) ,则乘上 (3 imes 2^{a_i-1}) ;对于 (p_i=3,5) 同理。
故 (g(p)le 6 imes p) 。
以上是关于斐波那契数列の循环节的主要内容,如果未能解决你的问题,请参考以下文章