看到一个求两个数最大公约数的算法:辗转相除法,觉得很有意思,分享给大家。
1、背景
(1)发明人:欧几里得
(2)求最大公约数的一般计算方法的局限性
2、辗转相除法
(1)1中的例子重新用辗转相除法来求:
(2)具体解析描述
思路:假设最大公约数为n,两个数都是n的倍数,只是倍数不一样。那么,通过mod的方式,找到n。
1)大mod小:1112 mod 695 得到:
小 417 大 695
2)大mod小:695 mod 417 得到:
大 695 小 278
3)大mod小:417 mod 139 得到:
小 139 大 278
4)大mod小:278 mod 139 得到:0
因此,139就是最大公约数。