两个数的最大公约数

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

推荐阅读更多精彩内容

  • 今天下午在面试蘑菇街的时候,面试官让我写如何求两个数的最大公约数,思考了两分钟,想出了一个递归的想法;下来就写了一...
    phlixce阅读 1,943评论 0 0
  • 题目 求两个数的最大公约数。怎么看都是一个数学的问题,所以还是需要数学的定理公理,来求。 辗转相除法 假设两个整数...
    Myth52125阅读 2,939评论 0 0
  • 很多人都会说自己工资又涨了,可是,他真的是涨了吗?用通货膨胀率(CPI指数代替)以及货币贬值率来算一下的话,你每...
    阴阳无极阅读 3,362评论 2 1
  • 英孚家长: 您好! 孩子今天主要学习U8L5-U8L6: 1.学习了自然拼读法th的用法,如:that,this,...
    EmilyJia阅读 910评论 0 0
  • 文/熠歆 今晚,热身运动7分钟,跑步24分钟,慢走12分钟,共计43分钟。 今天,是我坚持锻炼的第三天。 即便是时...
    熠歆阅读 1,410评论 0 3