扩展欧几里得算法【原理+编码】

一、问题描述

已知两个整数m和n,求mx + ny = gcd(m, n)。

二、知识引入

贝祖定理:m>=0, n>=0, 且m,n\epsilonZ    =>   E x, y \epsilon Z, 使 mx + ny =gcd(m,n)

定理证明:1)设m=n=0,则gcd(m, n)=0,显然定理成立。
                  2)设m != 0 ,集合A={ mx+ny | x, y  \epsilon Z },则 A \subset Z.
                        =>   令集合P=A\capN,则P={z | z >= 0 }. 【证明P\notin\O
                        =>   设
d是P中最小的正整数,则 E x0, y0 \epsilon Z , 使 mx0 + ny0 = gcd(m, n) = d.
                        =>   设d|m = q...r,即m=d*q+r,  d>r>=0.
                        =>   r = m - d * q = m - (mx0 + ny0)*q = m(1-x0) - n(qy0) 
                        =>   r \epsilon  P, 又d>r与d是P中最小的正整数矛盾
                        =>   r = 0.
                        =>   m=d*q, 同理可证n=d*p,即
d是m和n的公约数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值