您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“JavaScript如何求兩個(gè)數(shù)的最大公約數(shù)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“JavaScript如何求兩個(gè)數(shù)的最大公約數(shù)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
在JavaScript中,可利用function語(yǔ)句、if語(yǔ)句配合“%”、“===”運(yùn)算符求兩個(gè)數(shù)的最大公約數(shù),語(yǔ)法為“function gcd(x,y){if(x%y===0){return y;}return gcd(y,x%y)}”。
本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在JavaScript中,求兩個(gè)數(shù)的最大公約數(shù),
示例如下:
//功能:求最大公約數(shù) //參數(shù): x 、y number //返回值: number function gcd(x , y){ if(x % y === 0){ return y ; } return gcd(y , x % y) //三目運(yùn)算符寫法: //return x % y === 0 ? y : gcd(y , x % y) ; } var res = gcd(5 , 20) ; console.log(res) ; //5
其他的方法:
1.最大公約數(shù) — 循環(huán)求余數(shù)
<script> //最大公約數(shù) --- 循環(huán)求余數(shù) //功能:兩個(gè)數(shù)的最大公約數(shù) //參數(shù):x,y number //返回值:最大公約數(shù) number function gcd(x , y){ //比較兩個(gè)數(shù)的大小,取較小的數(shù) var min = x < y ? x : y ; //從大到小循環(huán)找第一個(gè)公約數(shù) for(var i = min ; i >= 1 ; i--){ //判斷是否為公約數(shù) if(x % i == 0 && y % i == 0){ return i ; } } } var res = gcd(5 , 20); document.write(res) ; //5 </script>
2.最大公約數(shù) — 歐幾里得算法 – 遞歸實(shí)現(xiàn)
f方法:大數(shù)對(duì)小數(shù)求余,重復(fù)這個(gè)過(guò)程直到余數(shù)為 0
<script> // 最大公約數(shù) --- 歐幾里得算法 -- 遞歸實(shí)現(xiàn) //遞歸:大數(shù)對(duì)小數(shù)求余,重復(fù)這個(gè)過(guò)程直到余數(shù)為 0 //功能:求最大公約數(shù) //參數(shù):m,n number //返回值: number function gcd(m , n){ //大數(shù)能否整除小數(shù) var max = m > n ? m : n ; var min = m < n ? m : n ; if(max % min == 0){ //如果能整除,小數(shù)就是最大公約數(shù) return min ; } else{ return f(min, max % min) ; } } var res = gcd(5 , 20) ; document.write(res) ; //5 </script>
讀到這里,這篇“JavaScript如何求兩個(gè)數(shù)的最大公約數(shù)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。