关于斐波那契数列一些性质

前言

胡乱学了一点点…
补在这里
可能会慢慢更新吧…

定义

F ( a ) = F ( a − 1 ) + F ( a − 2 ) F(a)=F(a-1)+F(a-2) F(a)=F(a1)+F(a2)
其中 F ( 0 ) = 0 , F ( 1 ) = 1 F(0)=0,F(1)=1 F(0)=0,F(1)=1

邻项公约数为1

g c d ( F ( a ) , F ( a + 1 ) ) = 1 gcd(F(a),F(a+1))=1 gcd(F(a),F(a+1))=1
数学归纳法一下,首先 g c d ( F ( 0 ) , F ( 1 ) ) gcd(F(0),F(1)) gcd(F(0),F(1))显然为1
因为这个式子等价于 g c d ( F ( a ) , F ( a − 1 ) + F ( a ) ) gcd(F(a),F(a-1)+F(a)) gcd(F(a),F(a1)+F(a)),发现后面的 F ( a ) F(a) F(a)并没有对gcd有什么贡献,所以他等于 g c d ( F ( a ) , F ( a − 1 ) ) gcd(F(a),F(a-1)) gcd(F(a),F(a1)),归纳可得

另一类递推式

F ( n + m ) = F ( n + 1 ) ∗ F ( m ) + F ( n ) ∗ F ( m − 1 ) F(n+m)=F(n+1)*F(m)+F(n)*F(m-1) F(n+m)=F(n+1)F(m)+F(n)F(m1)
证明我们可以考虑一类组合问题来做

用一些 1 ∗ 2 1*2 12的长方形填满一个 2 ∗ n 2*n 2n的矩阵的方案数是什么
递推一下:最后一列可以用一个竖着的长方形,方案数是 d p ( i − 1 ) dp(i-1) dp(i1)
同样也可以用两个横着的长方形填满,是 d p ( i − 2 ) dp(i-2) dp(i2)
所以 d p ( i ) = d p ( i − 1 ) + d p ( i − 2 ) dp(i)=dp(i-1)+dp(i-2) dp(i)=dp(i1)+dp(i2),容易发现这其实是斐波那契数列的定义式,根据边界我们可以知道 d p ( i ) = F ( i + 1 ) dp(i)=F(i+1) dp(i)=F(i+1)

然后我们对 2 ∗ ( n + m − 1 ) 2*(n+m-1) 2(n+m1)的网格进行覆盖
考虑在 n n n n + 1 n+1 n+1的位置进行分割,如果能隔开则方案是 d p ( n ) ∗ d p ( m − 1 ) dp(n)*dp(m-1) dp(n)dp(m1)
如果不能隔开方案就是 d p ( n − 1 ) ∗ d p ( m − 2 ) dp(n-1)*dp(m-2) dp(n1)dp(m2)

d p ( n + m − 1 ) = d p ( n ) ∗ d p ( m − 1 ) + d p ( n − 1 ) ∗ d p ( m − 2 ) dp(n+m-1)=dp(n)*dp(m-1)+dp(n-1)*dp(m-2) dp(n+m1)=dp(n)dp(m1)+dp(n1)dp(m2)
= F ( n + 1 ) ∗ F ( m ) + F ( n ) ∗ F ( m − 1 ) =F(n+1)*F(m)+F(n)*F(m-1) =F(n+1)F(m)+F(n)F(m1)
= F ( n + m ) =F(n+m) =F(n+m)

得证

最小公倍数

g c d ( F ( a ) , F ( b ) ) = F ( g c d ( a , b ) ) gcd(F(a),F(b))=F(gcd(a,b)) gcd(F(a),F(b))=F(gcd(a,b))
打表可证

上面有第一个推论 g c d ( F ( a ) , F ( a + 1 ) ) = 1 gcd(F(a),F(a+1))=1 gcd(F(a),F(a+1))=1
同样需要用到第二个推论 F ( n + m ) = F ( n + 1 ) ∗ F ( m ) + F ( n ) ∗ F ( m − 1 ) F(n+m)=F(n+1)*F(m)+F(n)*F(m-1) F(n+m)=F(n+1)F(m)+F(n)F(m1)

同样尝试用归纳法证明
不妨把 F ( a ) F(a) F(a)看作 F ( m ) F(m) F(m) F ( b ) F(b) F(b)看作 F ( n + m ) F(n+m) F(n+m)
g c d ( F ( a ) , F ( b ) ) = g c d ( F ( a ) , F ( b − a + 1 ) ∗ F ( a ) + F ( b − a ) ∗ F ( a − 1 ) ) gcd(F(a),F(b))=gcd(F(a),F(b-a+1)*F(a)+F(b-a)*F(a-1)) gcd(F(a),F(b))=gcd(F(a),F(ba+1)F(a)+F(ba)F(a1))
同样发现 F ( b − a + 1 ) ∗ F ( a ) F(b-a+1)*F(a) F(ba+1)F(a) F ( a ) F(a) F(a)因子相同,可以去掉,所以就是
g c d ( F ( a ) , F ( b − a ) ∗ F ( a − 1 ) ) gcd(F(a),F(b-a)*F(a-1)) gcd(F(a),F(ba)F(a1))
由于 g c d ( F ( a ) , F ( a − 1 ) ) = 1 gcd(F(a),F(a-1))=1 gcd(F(a),F(a1))=1,贡献一定产生在 F ( a ) F(a) F(a) F ( b − a ) F(b-a) F(ba)中,故有
g c d ( F ( a ) , F ( b ) ) = g c d ( F ( a ) , F ( b − a ) ) gcd(F(a),F(b))=gcd(F(a),F(b-a)) gcd(F(a),F(b))=gcd(F(a),F(ba))
发现在更相减损,就是另一类求gcd的方式,故可以得证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值