function primeFactors(n) { let factors = []; let divisor = 2; while (n >= 2) { if (n % divisor === 0) { factors.push(divisor); n = n / divisor; console.log(divisor,n); } else { divisor++; } } console.log(factors); let result = []; let count = 1; let currentFactor = factors[0]; for (let i = 1; i < factors.length; i++) { if (factors[i] === currentFactor) { count++; } else { result.push([currentFactor, count]); currentFactor = factors[i]; count = 1; } } result.push([currentFactor, count]); return result; } console.log(primeFactors(24)); 是这样式儿的不,我之前面试的时候让做的
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务