Home  >  Article  >  Web Front-end  >  How to find the greatest common divisor of two numbers in JavaScript

How to find the greatest common divisor of two numbers in JavaScript

WBOY
WBOYOriginal
2022-02-21 16:51:463067browse

In JavaScript, you can use the function statement and if statement with the "%" and "===" operators to find the greatest common divisor of two numbers. The syntax is "function gcd(x,y){if (x%y===0){return y;}return gcd(y,x%y)}".

How to find the greatest common divisor of two numbers in JavaScript

The operating environment of this tutorial: Windows 10 system, JavaScript version 1.8.5, Dell G3 computer.

How to find the greatest common divisor of two numbers in JavaScript

In JavaScript, find the greatest common divisor of two numbers.

The example is as follows:

 //功能:求最大公约数
        //参数: 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

Other methods:

1. The greatest common divisor - loop to find the remainder

    <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. The greatest common divisor - Euclidean algorithm - recursive implementation

f method: Find the remainder of a large number to a decimal, repeat this process until the remainder is 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>

Related recommendations: javascript learning tutorial

The above is the detailed content of How to find the greatest common divisor of two numbers in JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn