js计算最大公约数和最小公倍数代码实例

销售前的奉承,不如售后服务。这是制造“永久顾客”的不二法则。那些花了好久才想明白的事,总是会被偶尔的情绪失控全部推翻。

一、计算最大公约数

1、小学时候一般采用质因数分解法,一般使用短除得到结果,下面用一种最初级的方法求最大公约数

function gcd2(a,b){
    var result = 1;
    for(var i = 1; i <= a && i <= b; i++ ){
      if(a%i == 0 && b%i == 0 ){
        result = i;
      }
    }
    return result;
  }

2、使用欧里几德算法,辗转相除法。具体原理自行百度。下面给出两种代码算法

递归

function gcd(a,b){
    if(b == 0){
      return a;
    }
    var r = a % b;
    console.log(r);
    return gcd(b,r);
  }

迭代

function GCD(a,b){
    var temp;
    while(b != 0){
      temp = a % b;
      a = b;
      b = temp;
    }
    return a;
  }

二、最小公倍数,最小公倍数的算法,是两个数的乘积除以最大公倍数

function scm(a,b){
  return (a*b)/gcd(a,b);
}

到此这篇关于js计算最大公约数和最小公倍数代码实例就介绍到这了。人们更容易和自己亲近的人发火,而不是他们讨厌的人。所谓亲近的人,就是大部分时间和他们在一起的人--这一点很重要,这说明我们发火往往是因为我们对自己亲近的人有更多期望,或者说,想从他们那里得到更多东西。更多相关js计算最大公约数和最小公倍数代码实例内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
源码分析系列之json_encode()如何转化一个对象

基于php解决json_encode中文UNICODE转码问题

php让json_encode不自动转义斜杠“/”的方法

php+js实现的无刷新下载文件功能示例

JS操作XML中DTD介绍及使用方法分析