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)}".
The operating environment of this tutorial: Windows 10 system, JavaScript version 1.8.5, Dell G3 computer.
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!