证欧几里得最大公约数

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);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容