在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中,求两个数的最大公约数,
示例如下:
//功能:求最大公约数 //参数: 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中文网其他相关文章!