JS获取最大公约数的方法
程序员文章站
2023-11-26 11:40:04
已经有几种常见方法,以辗转相除法为例:
function gcd(a, b) {
if (a % b === 0) {
return b;...
已经有几种常见方法,以辗转相除法为例:
function gcd(a, b) { if (a % b === 0) { return b; } return arguments.callee(b, a % b); } console.log(gcd(28, 12)); // 4 console.log(gcd(7890, 123456)); // 6 console.log(gcd(5, 13)); // 1 (公约数为1说明两数互质)
更相减损法:
// 更相减损法 function gcd(a, b) { if (a === b) { return b; } if (a > b) { a -= b; } else { b -= a; } return arguments.callee(a, b) } console.log(gcd(28, 12)); // 4 console.log(gcd(7890, 123456)); // 6 console.log(gcd(5, 13)); // 1 (公约数为1说明两数互质)