辗转相除法又名欧几里得算法(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);
}