码迷,mamicode.com
首页 > Web开发 > 详细

js求最大公约数的两种方法

时间:2016-06-27 19:47:37      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

  1.辗转相除法

function commonDivisor1(num1,num2) {
if ((num1-num2) < 0) {
var k = num1;
num1 = num2;
num2 = k;
}
while (num2 !=0) {
var remainder = num1%num2;
num1 = num2;
num2 = remainder;
}
return num1;
}

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;
}

}

 

js求最大公约数的两种方法

标签:

原文地址:http://www.cnblogs.com/huan1/p/5620828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!