JS 算法--求两个数的最大公约数和最小公倍数

1,385 阅读1分钟

最大公约数

首先你要知道数学上怎么求最大公约数,我就不知道,太尴尬了,老师只教过比较约数。。。。

数学上求最大公约数的方法是“辗转相除法”,就是用一个数除以另一个数(不需要知道大小),取余数,再用被除数除以余数再取余,再用新的被除数除以新的余数再取余,直到余数为0,最后的被除数就是最大公约数

知道了这些,代码就简单了

function gcd(  n,  m ){ 
    if( m == 0 ) return n; 
    return gcd( m, n % m ); 
} 
gcd(12,30)  // 6

最小公倍数

首先要知道最小公倍数和最大公约数的关系:最小公倍数=两数相乘再除以最大公约数

所以知道了最大公约数,最小公倍数代码不用上了吧

如果你觉着有帮助,帮忙点个赞吧,求赞