我是靠谱客的博主 高贵火龙果,最近开发中收集的这篇文章主要介绍朝花夕拾之欧几里得,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

gcd(a,b)=gcd(b,a%b) g c d ( a , b ) = g c d ( b , a % b ) .

证明:
r=gcd(a,b) r = g c d ( a , b )
那么存在 r|a,r|b r | a , r | b .
又因为 a%b=aa/bb=akb a % b = a − a / b ∗ b = a − k ∗ b .
akb a − k ∗ b a a b的一个线性组合,因此 r|(a%b) r | ( a % b )
所以 a a b的公约数同样是 b b a%b的公约数,那么他们的最大公约数当然也是相同的。

扩展欧几里得

求解 ax+by=gcd(a,b) a x + b y = g c d ( a , b ) 的任意解。
ax1+by1=gcd(a,b) a x 1 + b y 1 = g c d ( a , b )
bx2+(a%b)y2 b x 2 + ( a % b ) y 2
=bx2+(aabb)y2 = b x 2 + ( a − ⌊ a b ⌋ ∗ b ) y 2
=b(x2aby2)+ay2 = b ( x 2 − ⌊ a b ⌋ y 2 ) + a y 2
=ax1+by1 = a x 1 + b y 1
所以得到等式
y1=x2aby2 y 1 = x 2 − ⌊ a b ⌋ y 2
x1=y2 x 1 = y 2
b=0 b = 0 时,返回 x=1,y=0 x = 1 , y = 0 .

以上我们可以得到一组特解,对于通解, 我们只要考虑
x x 发生变化时,y需要改变多少才是有效解。
x=x0+b/Gcd(a,b)t x = x 0 + b / G c d ( a , b ) ∗ t
y=y0a/Gcd(a,b)t(t) y = y 0 − a / G c d ( a , b ) ∗ t ( 其 中 t 为 任 意 整 数 )

先到这里了,拜拜=v=

最后

以上就是高贵火龙果为你收集整理的朝花夕拾之欧几里得的全部内容,希望文章能够帮你解决朝花夕拾之欧几里得所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部