欧几里得算法

     今天看到关于求两数最大公约数的帖子,就想起欧几里得算法,但是此算法是怎么证明的呢?一时间还真想不起来了,哎!还是理解的不深刻,现将其证明记录如下,没事时候可以翻翻看。

     欧几里得算法又称为辗转相除法,用来计算两个整数(a>b)的最大公约数。

    定理:gcd(a,b) = gcd(b,a mod b);

    因为a>b,假设a = kb+r, --> r = a mod b;

                     设c是既是a,也是b的一个公约数,

                     则有,c|a,c|b, 

                     而 r = a - kb, 故有c|r,

   所以,可以证明a与b的公约数集合和b与a mod b的公约数集合相等,

    最大公约数必然也相等,即有gcd(a,b) = gcd(b,a mod b);

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页