当前位置: 代码迷 >> 综合 >> JavaScript 欧几里得算法/辗转相除法
  详细解决方案

JavaScript 欧几里得算法/辗转相除法

热度:44   发布时间:2023-11-27 00:20:21.0

辗转相除法又名欧几里得算法(Euclidean algorithm)
目的是求出两个正整数的最大公约数。它是已知最古老的算法,其可追溯至公元前300年前。

这条算法基于一个定理:两个正整数 a 和 b(a 大于 b),它们的最大公约数等于 a 除以 b 的余数 c 和 较小数 b之间的最大公约数。

2个数相除,得出余数 如果余数不为0,则拿较小的数与余数继续相除,判断新的余数是否为0 如果余数为0,则最大公约数就是本次相除中较小的数。

function gcd(a,b){
    return b===0 ? a:gcd(b,a%b);
}
  相关解决方案