辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
算法描述
用辗转相除法确定两个正整数 a 和 b(a≥b) 的最大公因数![](https://gss2.bdstatic.com/-fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D60/sign=9cf30add68d0f703e2b296dc0afa9d8b/d4628535e5dde711860f1f3cadefce1b9c16611e.jpg)
当
时,
;否则
递归或循环运算得出结果。
![](https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D83/sign=4b2d04fc17950a7b713543c70bd18953/a2cc7cd98d1001e93e244bc5b20e7bec55e797db.jpg)
![](https://gss0.bdstatic.com/-4o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D86/sign=6d2f15c46d09c93d03f203f19e3d6c65/86d6277f9e2f07088c0075cae324b899a801f2f7.jpg)
![](https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D185/sign=49a61977a3773912c0268169cd1b8675/09fa513d269759ee82c83f01b8fb43166c22df64.jpg)
算法流程图如下:
辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。