• 技术文章 >web前端 >前端问答

    JavaScript怎么求两个数的最大公约数

    长期闲置长期闲置2022-02-21 16:56:04原创83

    在JavaScript中,可利用function语句、if语句配合“%”、“===”运算符求两个数的最大公约数,语法为“function gcd(x,y){if(x%y===0){return y;}return gcd(y,x%y)}”。

    本教程操作环境: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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript 前端 html
    上一篇:javascript中冒泡排序是什么意思 下一篇:javascript中计时基本单位是什么
    PHP编程就业班

    相关文章推荐

    • javascript怎么实现除法取余• javascript怎么去掉class属性的值• JavaScript怎么求数组中位数• JavaScript是什么端脚本语言• javascript有首字母大写函数吗

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网