在JavaScript中,可利用function語句、if語句配合“%”、“===”運算符求兩個數的最大公約數,語法為“function gcd(x,y){if(x%y===0){return y;}return gcd(y,x%y)}
”。
JavaScript怎么求兩個數的最大公約數
在JavaScript中,求兩個數的最大公約數,
示例如下:
//功能:求最大公約數 //參數: x 、y number //返回值: number function gcd(x , y){ if(x % y === 0){ return y ; } return gcd(y , x % y) //三目運算符寫法: //return x % y === 0 ? y : gcd(y , x % y) ; } var res = gcd(5 , 20) ; console.log(res) ; //5
其他的方法:
1、最大公約數 — 循環(huán)求余數
//最大公約數 --- 循環(huán)求余數 //功能:兩個數的最大公約數 //參數:x,y number //返回值:最大公約數 number function gcd(x , y){ //比較兩個數的大小,取較小的數 var min = x < y ? x : y ; //從大到小循環(huán)找第一個公約數 for(var i = min ; i >= 1 ; i--){ //判斷是否為公約數 if(x % i == 0 && y % i == 0){ return i ; } } } var res = gcd(5 , 20); document.write(res) ; //5
2、最大公約數 — 歐幾里得算法 – 遞歸實現
f方法:大數對小數求余,重復這個過程直到余數為 0
// 最大公約數 --- 歐幾里得算法 -- 遞歸實現 //遞歸:大數對小數求余,重復這個過程直到余數為 0 //功能:求最大公約數 //參數:m,n number //返回值: number function gcd(m , n){ //大數能否整除小數 var max = m > n ? m : n ; var min = m < n ? m : n ; if(max % min == 0){ //如果能整除,小數就是最大公約數 return min ; } else{ return f(min, max % min) ; } } var res = gcd(5 , 20) ; document.write(res) ; //5