js求两个数的最大公约数


1,

lcm=function(m,n){//辗转相除法 求最大公约数 var u=+m,v=+n,t=v; while(v!=0){ t=u%v; u=v; v=t; } return u }




2,

function commonDivisor2(num1,num2) {//更相减损法
var index=0;
while (num1%2==0 && num2%2 ==0) {
num1 = num1/2;
num2 = num2/2;
index += 1;
}
if ((num1-num2) < 0) {
var k = num1;
num1 = num2;
num2 = k;
}
var cha = num1-num2;
while (cha != num2) {

if (cha -num2>0) {
num1 = cha;

} else {
num1 = num2;
num2 = cha;
}
cha = num1-num2;
}
if (index == 0) {
return cha;
} else {
return cha*index*2;
}

}




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM