您的位置:首页 > 其它

《算法导论》学习笔记——扩展欧几里得原理

2018-02-05 13:26 537 查看

扩展欧几里得算法的原理

扩展欧几里得算法即欧几里得算法的一个变形。我们先来看《算法导论》上的一段伪代码。

EXTENDED-EUCLID
if b==0
return(a,1,0)
else(d_,x_,y_)=EXTENDED-EUCLID(b,a mod b)
(d,x,y)=(d_,y_,x_-round(a/b)*y_)
return (d,x,y)


我们可以发现递归到最后是求出了这样一个:使得a=ax+bya=ax+by满足的x和y。也就是1,0.

最后通过d_=bx_+(amodb)y_d_=bx_+(amodb)y_推出d=ax+byd=ax+by。

至于这个推论过程为什么成立,我们可以发现:

当x=y_x=y_和y=x_−round(a/b)y_y=x_−round(a/b)y_时显然成立。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: