直观地理解GCD算法

时间:2016-04-21 01:32:00

标签: math numbers theory greatest-common-divisor

了解此算法如何找到GCD的直观方法是什么?

enter image description here

3 个答案:

答案 0 :(得分:4)

维基百科在名称Euclidean algorithm上有一篇很好的文章。特别是,文章中的这张图片可能会回答您的文字问题:了解此算法如何找到GCD的直观方式:

Euclidean algorithm visualisation

  

欧几里德算法的基于减法的动画。初始矩形的尺寸为a = 1071,b = 462.尺寸为462×462的正方形放置在其中,留下462×147的矩形。这个矩形平铺有147×147个正方形,直到留下一个21×147的矩形,然后用21×21的正方形平铺,没有留下未覆盖的区域。最小的方形尺寸21是1071和462的GCD。

答案 1 :(得分:2)

最大公约数算法的最初发明者是欧几里德,他在基督诞生前约300年在他的书“元素中描述了它。这是他的几何解释,包括他的图表:

让AB和CD成为两个不是相对素数的给定数字。
需要找到AB和CD的最大常用度量。
如果现在CD测量AB,因为它也测量自身,那么CD是CD和AB的常用度量。很明显,它也是最大的,没有比CD措施CD更多的数字。
但是,如果CD没有测量AB,那么,当从较大的数字中连续减去AB和CD中较少的数字时,会留下一些数字来衡量它之前的数字。
对于一个单位没有留下,否则AB和CD将是相对素数,这与假设相反。
因此会留下一些数字来衡量它之前的数字。
现在让CD测量BE,让EA小于自身,让EA测量DF,让FC小于自身,让CF测量AE。
此后,CF测量AE,AE测量DF,因此CF也测量DF。但它衡量自己,因此它也衡量整个CD。
但CD测量BE,因此CF也衡量BE。它还测量EA,因此它测量整个BA。
但它也测量CD,因此CF测量AB和CD。因此CF是AB和CD的常用量度。
接下来我说它也是最棒的。
如果CF不是AB和CD的最常用量度,那么一些大于CF的数字G测量数字AB和CD。
现在,由于G测量CD,CD测量BE,因此G也测量BE。但它也测量整个BA,因此它测量剩余的AE。
但AE测量DF,因此G也测量DF。并且它测量整个DC,因此它也测量剩余的CF,也就是说,越大的测量越少,这是不可能的。
因此,大于CF的数字不会测量数字AB和CD。因此CF是AB和CD的最常用量度。

观察Euclid使用"措施"表示较小长度的某些倍数与较大长度相同;也就是说,他的概念"措施"与我们的概念相同"划分"如7分28。

答案 2 :(得分:0)

简而言之,如果ab都可以被D分割,那么它必须是a-b的除数,并且不能大于{{1} }}。逻辑是递归地应用这一点,并添加了a-b GCD为a=b的规则:

a