算法题
**求最大公约数
1. 辗转相除法
辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
实现代码:
function add(m,n){
let r=0;//每轮的余数
while(m%n!=0){//当余数不为0时进行下一轮
r=m%n;//取余数
m=n;//下一轮的被除数
n=r;//下一轮的除数(本轮的余数)
}
return n;//当余数为0时返回
}
console.log(add(1997,615));