一、計算最大公約數
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);}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答