最大公约数
欧几里德算法,也称为辗转相除法,递归
如果两个整数 a 和 b 中的一个为0,那么它们的最大公约数是另一个非零整数。例如,GCD(0, 8) = 8。
否则,使用辗转相除法。假设 a > b,可以将 a 除以 b 得到余数 r。然后,将 b 替换为原来的 a,将 r 替换为原来的 b,并重复步骤 1 直到 r 变为0。此时,b 就是最大公约数。
// 48 18
// 18 12
// 12 6
// 6 0
// 6
js
function findGCD(a, b) {
if (b === 0) {
return a;
} else {
return findGCD(b, a % b);
}
}
// 例如,计算 48 和 18 的最大公约数
const gcd = findGCD(48, 18);
console.log("最大公约数是:" + gcd);