数论中的辗转相除法的简单理解

数论中的辗转相除法的简单理解我们看的出来 最大公约数是 10 首先把 350 除以 80 得到商 4 余数 30 这个过程其实非常简单 就是不停地把上一次除法中的除数变为被除数 余数变为除数 一直到除法得到的余数变成 0 为止 最后一次除法运算中的除数就是最大公约数

大家好,欢迎来到IT知识分享网。

首先考虑一下350和80两个数之间的最大公约数。

我们看的出来,最大公约数是10。

通过辗转相除法如何把这个最大公约数求出来呢?

首先把350除以80,得到商4,余数30。

接下来以原来的除数80作为被除数,余数30作为除数再作除法,得到商2,余数20。

第三次按同样的方法,以上次的除数30作为被除数,余数20作为除数,得商1,余数10。

再以20作为被除数,10作为除数,得商2,余数为0。

辗转相除法到此结束,得到350和80两个数的最大公约数是10。

这个过程其实非常简单,就是不停地把上一次除法中的除数变为被除数,余数变为除数,一直到除法得到的余数变成0为止,最后一次除法运算中的除数就是最大公约数。

四次除法过程如下:

数论中的辗转相除法的简单理解

图1

对于这个辗转相除法的理解,可能会存在如下两个困难:

1:为什么余数中会包含最大公约数?

2:这样得到的结果为什么就是最大公约数呢?

首先解释第一点。

因为我们首先假设两个数字间存在最大公约数k,并假设第一个数字比第二个数字大。

那么,我们就可以假设第一个数字包含a个k,即ak;第二个数字是bk。

作第一次除法,就相当于把ak减去若干个(就是商)bk,我们假设是C个,也就是

ak-Cbk,当然,这里a>cb。那么,是不是还剩下a-Cb个k?也就是余数也是最大公约数k的倍数。这一点最好的理解方法就是,被除数是最大公约数的倍数,除数也是,所以它们的差就像是用100个3减去80个3,自然也是最大公约数的倍数。

然后是第二点。

从图1看出,最后一次除法的除数其实就是最大公约数,也刚好除尽。

第一次除法,得到的余数中包含的最大公约数的数量(30,也就是3个10)肯定小于除数的数量(8个10),第二次的余数则是2个10,第三次就是1个10,第四次则除尽。由此可以看到,每次除法,得到的余数最少要比除数中包含的最大公约数的倍数要减少1倍,这样辗转相除下去,最后的余数必然只剩下一个最大公约数。如果剩下的数字m比我们认为的最大公约数k大的时候被除尽,则最大公约数就是m。

下面从理论上证明第一点:
借用一位知乎网友的证明。

首先将被除数命名为A,将除数命为B,将二者的商命名为C,将余数命名为D。于是原式就可以转化为: A=B⋅C+D 。
接下来假设被除数A和除数B拥有共同的因数k,那么可以得到: A=a⋅k,B=b⋅k
通过式子 A=B⋅C+D 可得:

D=A−B⋅C

D=a⋅k−b⋅k×C

提取公因子k后可得

D=k(a−b×C)

而括号中的 a−b×C 一定是一个整数,所以可以得到, 当被除数和除数拥有同样因子的情况下,余数也一定拥有相同的因子。

再证明第二点:

证明:反证法,我们以104,40辗转举例子 容易理解。假设d是104和40的非最大公约数,假设k为104和40的最大公约数 ,——>d<k。

根据上述传递性,d=(104,40)=(40,24)=(24,16)=(16,8),(16,8)=8这个是公认的。而根据假设,k=(104,40)=…..=(16,8) >8,而(16,8) 最大的公约数就是除数本身8。k不可能再大于8了,所以矛盾,故不存在k>b。所以这么辗转,得到的就是最大公约数。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/108144.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信