首先,通过百度百科,我们了解到辗转相除法(欧几里得算法)的算法为
由此,可以先创建一个由两个形参的函数
function fn(a, b) {
}
在函数中创建一个变量yu并赋值a与b相除的余数
var yu = a % b
然后进行判断,当余数不为零时,继续应用函数求除数与余数相除的余数
if (yu != 0)
return fn(b, yu)
若余数为0,返回函数中的除数即为a与b的最大公约数
至此,分析结束,整体代码如下
function fn(a, b) {
var yu = a % b
if (yu != 0)
return fn(b, yu)
return b
}
console.log(fn(12, 4));
因为我们给的实参为12和4,所以运行得到的最大公约数结果为