看了11篇题解,发现大家对于模pk的周期为π(p)pk−1的证明都是用21+5升幂定理来做。但是对于2k的特殊情况来说,5有没有二次剩余其实问题不大,扩个域就好了,但是没有逆元硬用感觉不太行。
模2k的周期为3×2k−1,证明用数学归纳法。首先k=1成立。我们假设m≤k时模2m的周期都是3×2m−1已成立。那么:
F3×2k−1mod2k=0,F3×2k−1+1mod2k=1
由经典结论F3×2k=F3×2k−1F3×2k−1−1+F3×2k−1+1F3×2k−1=F3×2k−1(F3×2k−1−1+F3×2k−1+1)
第一个因数里有k个2,第二个因数考虑模2意义下时0,所以乘起来是2k+1的倍数。F3×2kmod2k+1=0
F3×2k+1=F3×2k−12+F3×2k−1+12
第一项模2k+1显然为0。由归纳假设F3×2k−1+1=s⋅2k+1
那么F3×2k−1+12=s222k+s2k+1+1
即F3×2k+1mod2k+1=0
即3×2k+1是模2k+1的周期。归纳假设成立。