溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript如何求兩個(gè)數(shù)的最大公約數(shù)

發(fā)布時(shí)間:2022-02-22 12:11:36 來(lái)源:億速云 閱讀:980 作者:iii 欄目:web開發(fā)

本文小編為大家詳細(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ù)

在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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI