牛客网算法题JS(四)NC151 最大公约数

62 阅读1分钟

image.png

解题一:

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 求出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循环可能会缺失最小值自身为公约数的情况。