斐波那契数最小公因数性质:gcd(F[n],F[m])=F[gcd(n,m)]

导读:本篇文章讲解 斐波那契数最小公因数性质:gcd(F[n],F[m])=F[gcd(n,m)],希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

引理1

结论:F(n)=F(m)F(n−m+1)+F(m−1)F(n−m)

推导:

F(n)

=F(n−1)+F(n−2)

=2F(n−2)+F(n−3)

=3F(n−3)+2F(n−4)

=5F(n−4)+3F(n−5)

=⋯

=F(m)F(n−m+1)+F(m−1)F(n−m)

看出系数的规律了,2=1+1,3=2+1,5=3+2,……

用数学归纳法严谨证明一下:

1)当m=2时,F(n)=F(2)F(n−2+1)+F(2−1)F(n−2)=F(n−1)+F(n−2)成立。

2)设当m=k(2≤k≤n−2)时,F(n)=F(k)F(n−k+1)+F(k−1)F(n−k)成立。

又∵F(k−1)=F(k+1)−F(k)
∴F(n)=F(k)F(n−k+1)+[F(k+1)−F(k)]F(n−k)
即F(n)=F(k+1)F(n−k)+F(k)[F(n−k+1)−F(n−k)]
又∵F(n−k+1)−F(n−k)=F(n−k−1)
∴F(n)=F(k+1)F(n−k)+F(k)F(n−k−1),说明当m=k+1时等式也成立。

综上,F(n)=F(m)F(n−m+1)+F(m−1)F(n−m)对于[2,n−1]内的任意一个整数m都成立。

引理2

gcd(F(n),F(n−1))=1

根据gcd更相减损性质:gcd(a,b)=gcd(b,a−b)(a>b)

得gcd(F(n),F(n−1))=gcd(F(n−1),F(n)−F(n−1))=gcd(F(n−1),F(n−2))

不断套用上式得到gcd(F(n),F(n−1))=gcd(F(2),F(1))=1

 

证明gcd(F(n),F(m))=F(gcd(n,m))

由引理1可知gcd(F(n),F(m))=gcd(F(m)F(n−m+1)+F(m−1)F(n−m),F(m))(n>m)

而F(m)F(n−m+1)为F(m)的倍数,故gcd(F(n),F(m))=gcd(F(m−1)F(n−m),F(m)) (gcd的更相减损,可以消掉F(m)的倍数)

因为F(m),F(m−1)互质,于是gcd(F(n),F(m))=gcd(F(n−m),F(m))

递归上式,

gcd(F(n),F(m))=gcd(F(n−m),F(m))=gcd(F(n−m−m),F(m))=⋯=gcd(F(nmodm),F(m))

再递归上式,我们需要比较nmodm与m谁更大,用大的数mod小的数。这不就是辗转相除法求最大公约数吗?

于是gcd(F(n),F(m))=gcd(F(gcd(n,m)),F(gcd(n,m)))=F(gcd(n,m))

证毕。

 

如未声明转载,本文作者为 1024th(https://www.cnblogs.com/1024th/p/10897313.html

版权:原创文章采用「署名-非商业性使用-相同方式共享 4.0 国际」协议进行许可,转载文章另行声明许可证

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103305.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!