dd / ds = q...r(dd除以ds等于q余r)。
如果: ds / r = n...0
dd = q * n * r + r
不存在r', r < r' < ds且dd = ds * q + r'
如果: ds / r = q2...r2
如果: r % r2 = n2...0
dd = q * (q2 * n2 * r2 + r2) + (n2 * r2)
不存在r2', r2 < r2' < r且ds = r * q2 + r2'
求dd与ds的最大公约数,循环以上步骤直至余数为0,那时的除数就是最大公约数。
附:求两个数的最大公约数JS代码
function gcd(a, b) {
let r = a % b;
r ? gcd(b, r) : console.log(b);
}