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

  

 

   

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM