解题一:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 求出a、b的最大公约数。
* @param a int
* @param b int
* @return int
*/
function gcd(a, b) {
// write code here
let maxRange = Math.min(a,b) +1
console.log(maxRange)
while(--maxRange > 0) {
if(a % maxRange === 0 && b%maxRange===0) {
return maxRange
}
}
}
module.exports = {
gcd: gcd,
};
为什么maxRange会加1,因为while循环可能会缺失最小值自身为公约数的情况。