js题目:利用递归求两个数字的最大公约数
首先确定如何求最大公约数,例如 24,78,算法如下:
78%24=6 大数对小数取余
24%6=0 小数对上次的余数再取余,重复这个过程,直到余数为0。余数为0时,此时用来取余的小数(这里是6)就是最大公约数
<script>
function fn(m,n){
if(m>n){
var max=m;
var min=n;
}else{
var max=n;
var min=m;
}
if(max%min===0){
//如果能整除,小数就是最大公约数
return min;
}else{
//如果不能整除,求小数和余数的最大公约数
return fn(min,max%min);
}
}
console.log(fn(24,78));
</script>