温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript如何求两个数的最大公约数

发布时间:2022-02-22 12:11:36 来源:亿速云 阅读:1056 作者:iii 栏目:web开发

本文小编为大家详细介绍“JavaScript如何求两个数的最大公约数”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript如何求两个数的最大公约数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

在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如何求两个数的最大公约数”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI