這問題咕咕咕了好久,來填坑了。
問題
求斐波那契數列在模 \(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\times 2^{a_i-1}\) ;對於 \(p_i=3,5\) 同理。
故 \(g(p)\le 6\times p\) 。