求Fibonacci数列的循环节
来源:互联网 发布:德兴软件ui设计师 编辑:程序博客网 时间:2024/06/04 19:01
求Fibonacci数列的循环节
Mathematics, by zimpha.
距离上一篇指数循环节貌似过了好几天了,今天就来写一下如何求解Fibonacci数列循环节,这个循环节当然是指模一个数的条件下,然后我会介绍如何求广义Fibonacci数列的循环节。
我们先来看第一部分。
Fibonacci数列循环节
首先,我们知道Fibonacci数列的递推公式是:
我们也知道Fibonacci数列的通项公式是:
下面我们给出循环节的定义
Fibonacci数列模一个数
j 的循环节m 是一个最小的整数满足:F m ≡0modj,F m+1 ≡1modj 。并且如果k 是Fibonacci数列的一个循环节,那么k 必是m 的倍数。
接下来写几个下面需要用到的定理。
定理1
设
p 是一个质数,n,a 是一个正整数,如果a≡1modp ,那么a p n ≡1modp n+1
这个定理可以用数学归纳法证明,这里就不再多说。
引理1
设
p 是一个质数,k 是一个正整数,如果m 是F n modp 的循环节,那么ϕ mp k−1 ≡ϕ ¯ ¯ ¯ mp k−1 ≡1modp k
证明:由于
然后由于
于是我们得到
利用定理1 ,我们就能得到
定理2
设
j 是一个正整数,并且j=∏ s i=1 p k i i , p i is a prime ,设m i 是F n modp k i i 的循环节。如果m 是F n modj 的循环节,那么m=lcm(m 1 ,m 2 ,…,m s ) 。
这个定理太显然了,就不证明了。
定理3
设
p 是一个不等于5的质数,那么5是p 的平方剩余当且仅当p≡±1mod5 ,5是p 的非平方剩余当且仅当p≡±2mod5 。
这个定理用二次互反律很容易证明。
有了上面定理我们知道当
定理4
设
p 是一个质数,m 是F n modp 的周期。如果p≡±1mod5 ,那么m|p−1 。
证明:因为
然后就有
并且
于是
定理5
设
p 是一个质数,m 是F n modp 的周期。如果p≡±2mod5 ,那么m|2p+2 ,并且2p+2m 是奇数。
我们知道
于是
同理可以得到
于是我们就可以得到下面的式子
并且有
然后在观察下面的式子
于是
于是
好了现在,我们已经知道如何求Fibonacci模一个指数的循环节,现在我们考虑质数的幂次。
定理6
设
p 是一个质数,设m 是F n modp 的最小循环节,如果m ′ 是F n modp k 的最小循环节,那么m ′ ∣mp k−1 。
证明:由引理1我们可以知道
于是
并且
显然我们可以得到
补充1:对于我们目前知道的所有素数,都有
补充2:
关于Fibonacci部分已经搞定了,我们来总结一下,定义
P(m)=lcm(P(p k 1 1 ),P(p k 2 2 ),…,P(p k s s )) P(p k )=P(p)p k−1 , if P(p 2 )≠P(p) P(p)∣p−1,p≡±1modp P(p)∣2p+2,p≡±2modp
下面开始第二部分,广义Fibonacci数列的循环节。
广义Fibonacci数列的循环节
这个等有空再写
现在先填上一篇链接http://blog.csdn.net/acdreamers/article/details/25616461
这里的结论基本上和Fibonacci数列的结论没有什么区别,证明我就不写了,不理解的地方可以参考上面贴出的链接。
今天来补上这个部分,然后给一些规范的定义。
首先定义一下广义Fibonacci数列:
然后设
好了,我们开始求广义Fibonacci数列的循环节,由上面的递推是我们可以得到这个数列的递推矩阵
并且可以知道这个矩阵的特征根
根据平方剩余的知识,我们知道
类似定理4,我们可以得到以下定理。
定理7
设
p 是一个质数,如果Δ 是modp 的平方剩余,那么K A,B (p)∣p−1 .
然后我们也有几个引理。
引理2
设
p 是一个奇质数,如果Δ 是modp 的非平方剩余,那么(Δ − − √ ) p ≡−Δ − − √ modp 。
证明:因为
于是
引理3
如果
λ 1 ,λ 2 ,是方程x 2 −Ax−B=0 在域F=F p 2 的两根,那么λ p+1 1 =λ p+1 2 .
证明:首先我们知道
定理8
设
p 是一个质数,如果Δ 是modp 的非平方剩余,那么K A,B (p)∣2(p−1)⋅ord p (B 2 ) .
然后有一个定理:
令
ord n (a)=t ,u 是一个正整数,那么ord n (a u )=t/(t,u) .
于是定理8可以修改为以下形式
设
p 是一个质数,如果Δ 是modp 的非平方剩余,那么K A,B (p)∣p 2 −1 .
因为
然后对于其他的一些东西就和Fibonacci数列类似了,参照上面的定理即可。
貌似这篇文章涉及了一些平方剩余和原根的知识,下次就写一篇科普一下这些知识。
- 求Fibonacci数列的循环节
- 项目4:用循环求---(2)求不超过10000的Fibonacci数列的每一项
- 求Fibonacci数列的前10个数
- 求Fibonacci数列的前四十个数
- HITOJ 1864 求Fibonacci数列的位数
- 求Fibonacci数列的前30项
- 求Fibonacci数列的第n项
- 求fibonacci数列的前40项
- 求Fibonacci数列的第n项
- 广义Fibonacci数列找循环节
- 广义Fibonacci数列找循环节
- 广义Fibonacci数列找循环节
- 广义Fibonacci数列找循环节
- Fibonacci数列 -循环
- 二分法求Fibonacci数列
- 求Fibonacci 数列
- 递归求Fibonacci数列
- 递归求Fibonacci数列
- 通过cmd命令到ftp上下载文件
- struts2学习笔记之十五(输入校验)
- hdu 1505 City Game(dp)
- 构建iOS持续集成平台(一)——自动化构建和依赖管理
- hdu1796 How many integers can you find
- 求Fibonacci数列的循环节
- mysql分表的3种方法
- UIDevice 设备信息
- 多线程NSThread+主线程子线程
- UIViewContentMode
- 研究生类
- 解决Android Studio 和 Android SDK Manager 无法在线更新的问题.
- 起点!
- Linux中的EAGAIN含义