首頁 > web前端 > 前端問答 > JavaScript怎麼求兩個數的最大公約數

JavaScript怎麼求兩個數的最大公約數

WBOY
發布: 2022-02-21 16:56:04
原創
3093 人瀏覽過

在JavaScript中,可利用function語句、if語句配合「%」、「===」運算子求兩個數的最大公約數,語法為「function gcd(x,y){if (x%y===0){return y;}return gcd(y,x%y)}」。

JavaScript怎麼求兩個數的最大公約數

本教學操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

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.最大公約數 — 循環求餘數

    <script>
        //最大公约数  --- 循环求余数
        //功能:两个数的最大公约数
        //参数:x,y  number
        //返回值:最大公约数  number
        function gcd(x , y){
            //比较两个数的大小,取较小的数
            var min = x < y ? x : y ;
            //从大到小循环找第一个公约数
            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
    </script>
登入後複製

2.最大公約數 — 歐幾里德演算法 – 遞歸實現

f方法:大數對小數求餘,重複這個過程直到餘數為 0

    <script>
        // 最大公约数  --- 欧几里得算法  -- 递归实现
        //递归:大数对小数求余,重复这个过程直到余数为 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
    </script>
登入後複製

相關建議:javascript學習教學

以上是JavaScript怎麼求兩個數的最大公約數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板